Refactored GameModel