Abstracted common behavior into a parent class: AbstractPlayer