- moved player creation logic out of hub into service