modified per Artem's comments and added pub-sub to support inbound taps Modified tap to use provided wiretap on inbound channels. Tap on outbound not supported Changes to support conditional shared channel creation and the ability to share a registered channel for inbound() and outbound()