Manage sockets using events, callbacks and rooms