integrated socket.io websockets wrapper