Refactored to custom GameLogicManager