I like the separation of the transports into engine.io, however it would be even better if it exposed a standard Node.js Stream interface so that it played nicely with the growing ecosystem of Stream-related modules.
Dominic Tarr, substack, and others have been advocating this idea for awhile: https://github.com/substack/stream-handbook
Gluing together various types of streams and stream transformers is a really nice way to build certain types of applications.
Fortunately it should be easy to write a Stream compatible wrapper.