Generic communication framework ("flows")
The existing gap between streams and messengers should be closed by changing the stream concept to a generic idea with both packet and byte streams (or whatever we call them). Filters can slot between an application and the actual destination/source of a stream, allowing ideas such as decoding a binary file format into packets inside the I/O stack itself.
This is inspired in some ways by System V STREAMS. Avoiding naming confusion by coming up with a name other than "streams" might be advisable.