Refactored player and spectator, to use an entity gateway for thrift objects, and inherit from a common observer class