Represents the publishing end of a pub-sub broker client.
publish and publish_event have some minor serialization boilerplate built-in into their
default implementations.
Represents the subscribe end of a pub-sub broker client.
Objects of this type are meant to accumulate subscriptions and be consumed when converting
to a message stream.