Now that we’ve factored out the Socket.IO start() and stop() capability, it’s time to move on to the meat of our Socket.IO abstraction. We need our RealTimeServer to send events to clients without talking to Socket.IO directly. How can we send events without calling any methods on Socket.IO’s “socket” objects? We tackle the problem.