events are a pain in the ass
trying to implement events as a stack creates issues with strong typing