Nevertheless, I was not giving up. As compilers got better workarounds were dropped. Being a Unix user I wanted to replicate as much of Unix in the new server as possible. At some point I was working on virtual file system as a way of storing users' variables, messages, etc. but eventually gave up. As with groups in Unix file-system, one can give various groups various permissions.
Channels are essentially groups, with the exception that they are created on the fly.
Clients can enter and leave them as they wish. New channels are definite improvement over IOS channels. First they are symbolical, so you can give channel a name that has some meaning. Second one could list all channels and all members of each channel in a very comfortable way. However I limited number of channels per user to 64.