I had it that way originally (creating a DirectChannel in StreamPlugin), but when the stream module is removed I had no reference to the tap channel to delete the outbound pub/sub bridge. However, now that I think of it, it would probably be sufficient to delete all outbounds on the tap channel since only a single stream should be publishing data on it. I think only the inbound deletion needs to be channel-specific