public void Dispose()
 {
     directoryMonitor.Dispose();
     foreach (var chatChannelAndUi in chatClients.Values)
     {
         chatChannelAndUi.Item1.Dispose();
         chatChannelAndUi.Item2.Dispose();
     }
     serverChannel.Dispose();
 }