Gameplay refactor