Context

- Both ::initialize and ::run need to catch a 'throw (0)' from the hook system.
TDB2

- ::update must call validate(false) to ensure metadata exists for the 'modify'
  case, then later call validate() to add defaults for the 'add' case.