Higher-level API built on matthewmueller/io for separating out socket logic and identifying clients, so messages can be passed between them.