A DurableProducerQueue implementation that can be used with ProducerController
for reliable delivery of messages. It is implemented with event-sourcing and stores one event before
sending the message to the destination and one event for the confirmation that the message has been
delivered and processed.