The evaluation of a dependency can trigger a callback on the dependent variable, one that
was established by the Set Preset Callback function - but not one that was established by
the Set Callback function. The callback occurs after the definition body has been evaluated
and before the dependent variable is set. The second argument to the callback is the
result of evaluating the definition body, and the result of the callback is the value to
which the dependent variable is set - or to which the items of the dependent variable are
set, in the itemwise case.
Moreover, when a dependency is evaluated, callbacks of either kind can be triggered by
assignments to other variables during the evaluation. These callbacks may mark saved values
of other dependencies invalid.
A dependency that is currently being evaluated, however, or indeed a dependency whose
callback function is being executed is marked as being in that state, and so its value will
not be marked invalid while the evaluation or execution is going on.
Evaluation of a dependency is not complete until all callbacks, including any on the
dependent variable, have been finished. See
"Dependencies" for an example.