Oh, and a quick warning: Don't get too attached to the idea that content would use the regular blob mechanism. It might end up that way, or it might not. In particular it would be inefficient to do additional round-trips for fetching content-blobs after receiving messages, instead it might be better to have specialized rpcs that send the content directly, by simply concatenating it on the metadata. Or something like that, I didn't spend a lot of time yet on concrete designs.
Specific desgns are also tied to message size limit considerations (we could increase the content limit, but we also need to keep in mind that fetching larger messages will slow down transmission of metadata), as well as back-pressure for parallel data streams.