Python decorators for type and value checking at runtime. Also, some boilerplate code for making classes that support event registration and firing.