moved many instance variables of GameManagerImpl to a separate Game class for better separation of concerns