Player domain object refactored