use promises in socket.io + channels