This is great stuff Juantar.
Would you be willing to show how to incorporate "Rooms" with SocketIO.
See here(SocketIO Readme):
### Rooms
Sometimes you want to put certain sockets in the same room, so that it's easy to broadcast to all of them together.
Think of this as built-in channels for sockets. Sockets `join` and `leave` rooms in each socket.
#### Server side
js
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.join('justin bieber fans');
socket.broadcast.to('justin bieber fans').emit('new fan');
io.sockets.in('rammstein fans').emit('new non-fan');
});