anchor.diff:  call(Rec, Fun) ->
       Mod = callback_mod(Rec),
       Mod:Fun(Rec).
  +
  +call0(Rec, Fun) ->
  +    Mod = callback_mod(Rec),
  +    Mod:Fun().
  
positive.code:     Mod:set_created(Rec, ActorId).
  
  create_query(Rec) ->
      call(Rec, create_query).
  
  update_query(Rec) ->
      call(Rec, update_query).
  
  delete_query(Rec) ->
      call(Rec, delete_query).
  
  find_query(Rec) ->
      call(Rec, find_query).
  
  list_query(Rec) ->
      call(Rec, list_query).
  
  bulk_get_query(Rec) ->
      call(Rec, bulk_get_query).
  
  %% Return the callback module for a given object record type. We're putting the abstraction
  %% in place in case we need to do something other than the identity mapping of record name
  
negative.code: -callback set_created(object_rec(), object_id()) -> object_rec().
  -callback set_updated(object_rec(), object_id()) -> object_rec().
  
  -callback create_query() -> atom().
  -callback update_query() -> atom().
  -callback delete_query() -> atom().
  -callback find_query() -> atom().
  -callback list_query() -> atom().
  -callback bulk_get_query() -> atom().
  
  -callback new_record(OrgId :: object_id(),
                       AuthzId :: object_id() | unset,
  