Refactored the player class.  Left some @todo tags to be rectified once the team has merged their refactorings.