Basic work

There isn't actually a work.updated event, just detailed ones for each property. Rationale is that a) it's a big object to serialise on each update, b) the audit log should show exact changes.