commits
so that they are included in inspect output
so they can be printed in the inspect output
Because EventMachine uses a single special "reactor thread" to run things and handle events, and there can be only one such thread at a time, you can't run two completely separate such setups in one process. You could run the second Stream inside the existing reactor thread, but this can lead to some unexpected behavior, like Stream#start method exiting immediately when you expect it to block (since the current thread isn't blocked to run the reactor, but simply passes the proc to the other thread), or different Streams blocking each other if processing events takes a bit longer than expected (since the processing of both would happen on the same thread, unless work is explicitly done in the background).
If you want to do it anyway and you know what you're doing, you know what to do.
so it can be overridden more easily
not having to first convert an ascii string to a byte array and then back into an ascii string saves a *ton* of time
Because EventMachine uses a single special "reactor thread" to run things and handle events, and there can be only one such thread at a time, you can't run two completely separate such setups in one process. You could run the second Stream inside the existing reactor thread, but this can lead to some unexpected behavior, like Stream#start method exiting immediately when you expect it to block (since the current thread isn't blocked to run the reactor, but simply passes the proc to the other thread), or different Streams blocking each other if processing events takes a bit longer than expected (since the processing of both would happen on the same thread, unless work is explicitly done in the background).
If you want to do it anyway and you know what you're doing, you know what to do.