Some refactoring and an initial commit for the Player class.