Create a event-based mechanism for schedule updates

I wrote this while playing around with a Python client I'm building. Hope it's helpful!