XD-2098: Add KafkaMessageBus

Needs some more polish, but this is finally passing all tests