Refactored Player object.