turn "IChannel" into a module. [ci skip]