also moves `moves` into the game object and moves updating `moves` to game:update
refactors the way mill? is written to make it a little more versatile