Extract out GameState into a separate file.