Connection Manager implementation. Connection Managers architecture is composed of two parties.
Connection Managers that accept client connections. Not implemented here.
The Main server that handles Connection Manager connections. Implemented here.