private void HandleClientDisconnected(object sender, EventArgs e)
{
IClient client = (IClient) sender;
client.Disconnected -= HandleClientDisconnected;
clientRepository.DeleteByID(client.ID);
DisconnectedEvent disconnectedEvent = new DisconnectedEvent(client);
EventHub.Publish(disconnectedEvent);
}