#2: Moved logic from the Player to PlayerHandler