move player management logic to PlayerManager [2]