Modfiied Player to inherit from AbstractCharacter