Designs reliable message producers, consumers, gateways and receiver semantics. Use when building adapters, transactional clients, competing consumers, durable subscribers or idempotent receivers.