public IOnMessageHandler <T> On <T>(Func <T, bool> canBeHandled) where T : IMessage
        {
            var onMessageHandler = new OnMessageHandler <T>(this, canBeHandled);

            _onMessageHandlers.Add(onMessageHandler);
            return(onMessageHandler);
        }
        public IOnMessageHandler <T> On <T>() where T : IMessage
        {
            var onMessageHandler = new OnMessageHandler <T>(this);

            _onMessageHandlers.Add(onMessageHandler);
            return(onMessageHandler);
        }