If you run in a multithreaded server, like Puma and multiple clients use the same session, you might end up with multiple threads racing for sending input. Pretty edgy, I guess :)

We can revisit that later on as I'm locking all over the place, maybe something is redundant, now.