This PubSub class is a hack -- rather than clean it up into something more sustainable, I'd rather integrate a real pubsub service in place at a later date if we have time. It's a very small class so I don't feel like it needs much at this point.