Refractored ClientCommunicationManager