PlayerClientImpl factorised