Generalized channel.js.