Buffer received TCP messages in a more rx-y way. This will make reusing of this logic much easier, by splitting out anything side-effecting to the subscriber instead of it being a massive mess that's all in the same method.