GameState refactoring