public void SubscribeByType <TMessage>(IHandle <TMessage> handler)
     where TMessage : class, IMessage
 {
     Subscribe(typeof(TMessage).FullName, handler.NarrowToIfYouCan <IMessage, TMessage>());
 }
 public void UnsubscribeByType <TMessage>(IHandle <TMessage> handler)
     where TMessage : class, IMessage
 {
     Unsubscribe(TypeToTopicName(typeof(TMessage)), handler.NarrowToIfYouCan <IMessage, TMessage>());
 }
 public void SubscribeByCorellationId <TMessage>(Guid corellationId, IHandle <TMessage> handler)
     where TMessage : class, IMessage
 {
     Subscribe(CorellationIdToTopicName(corellationId), handler.NarrowToIfYouCan <IMessage, TMessage>());
 }