Abstract PubSub implementation. Extend this if you're implementing...