socket.io uses event emitter for socket events, so we should use this too