It might make sense to have some sort of load error handling in another npm package to really make it easy to use.  I might have prematurely merged the socket.io support before I realized the deployment related stuff that adding another dependency introduced.

I think the socket.io hacks introduced could probably be added as an external script, no?