GameSession refactored