Yes this was something I wanted to do, but since `InvalidEventSink` should be a `TypeError` and others should not, I didn't know what would be best. Having two base classes doesn't seem right to me. Maybe we can use multiple inheritance to inherit from both `EventException` and `TypeError`?