Partial refactor of GameModeManager