first stab at ChannelRouter, which does the job of both ChannelMerger and ChannelSelector, without using the bus indices.
finish swapping ChannelRouter in for ChannelMerger / ChannelSplitter