Introduce the GenericMessageBroker class