Rewrite MessageBroker to use MessageChannel modules