Given that these are only used internally to this class, I'd argue that the strongly typed props just get in the way, vs just setting the dictionary values in the event. The code would be a lot smaller!