Refactored Player class from ground up

Refactored to achieve a TDD approach.