Add a firehose channel

*This is an in-progress PR. It has been created early to allow for proper early review and tracking of issues.*

The firehose will syphon off raw messages and send them out over a specialized channel. This is primarily for internal uses as a way of attaching a drain to a single source to obtain an overall system state view.
Agreed. I will make necessary changes.