protected internal override void OnRecieveRequest(TcpClient client)
 {
     Pips?.AddWork(async() =>
     {
         if (client.Connected)
         {
             await ProcessRequest(client);
         }
         else
         {
             client.Close();
         }
     });
 }
 protected internal override void OnBroadcast(Action <object> action, object obj)
 {
     Pips?.AddWork(() => action?.Invoke(obj));
 }