The steps the budget stopped, in the order they were stopped.
Whether the budget is spent. Records nothing.
The finding for the steps the budget stopped, or undefined when every
step ran: a budget spent by the last step still leaves a complete run.
Whether step must not start because the budget is spent. When it must
not, step is recorded as not run.
Record step as not run, for a caller that already knows the budget is spent.
Milliseconds left in the budget, never below zero.
Start the budget now.
nowis the clock the budget is measured on; tests inject one that moves only when they move it.