Add player class

Abstracted Player components