Refactored CommunicationManager.