[1] Implement GameState