Refactored player to separate class