Val's Network Theorem #99: Every network backbone ends up being a pub-sub network eventually.
Val's Corollary to Theorem #99: If you don't implement it, people will make a crappy, unstable version on top of you anyway.
Here's how networks evolve:
Step 0: You hook things up any way, any how. Ship it!
Step 0.5 (optional): You get tired of debugging all these protocols and consolidate on one protocol.
Step 1: You get tired of debugging the protocols and switch to queues.
Step 2: You get tired of monitoring a bunch of queues and move to a pubsub network.
So, what would a pubsub protocol look like? Let's see!