If #111 and #155 get merged, I suggest to add a FreezeOutcome that complements CellCompleter.freeze() in callbacks, i.e. if a callback returns FreezeOutcome, the depender is completed with the value it currently has. (In contrast, FinalOutcome completes the Cell after increasing its value.)
FreezeOutcome is not equivalent to FinalOutcome(bottom) in case of a monotonic updater. The latter case would throw an exception, if the cell had been updated earlier.
If #111 and #155 get merged, I suggest to add a FreezeOutcome that complements CellCompleter.freeze() in callbacks, i.e. if a callback returns FreezeOutcome, the depender is completed with the value it currently has. (In contrast, FinalOutcome completes the Cell after increasing its value.)