a pub/sub system based on socket.io