Re-implement publish_event with support for routing blocks.
Add MessageMetadataHelper methods for routing blocks and opt outs.