Part of the data that comes over the wire is tightly specced and we can rely on certain keys and values being set. Converting them to structs make them easier to access and interact with for users, at a slight cost in performance.
Unknown events are skipped with a warning, matching much of the ecosystem.