Перевел MessageDispatcher на делегаты, что позволило избавиться от необходимости наследования интерфейса IMessageListener.