More refactoring to Player class to reduce duplication