Factored player out into a class