Refactored Channel classes, now have a ChannelBase and then different channel types.