Separate IChannel class out into IChannel module and Channel class.
moved default @key setting to base class and Channel to IChannel namespace