Event error codes are application specific but for the sake of
simplicity lets re-use the update_engine ones where applicable.
update_engine and thus CoreUpdate only use a small subset of possible
event types so we can provide pre-defined event structs for them.