socket.io emitter implementation