public bool Unregister(TCAModule module)
 {
     return Clients.Remove(new Client(module));
 }
 public Client(TCAModule module, Func<VesselWrapper,bool> predicate = null)
 {
     Module = module; Predicate = predicate;
 }
 public bool Register(TCAModule module, Func<VesselWrapper,bool> predicate = null)
 {
     return Clients.Add(new Client(module, predicate));
 }