Half-assed implementation of channel mode

also some refactoring to differentiate "channel mode" from "user mode",
which will be implemented Soon (TM)