perf(scope): Make the digest loop easier to optimize by splitting it into smaller
and simpler methods.
perf(scope): Compute perf counters as part of the fast dirty check if possible.
chore(scope): Add comment to explain why we don't always stop at the last dirty watch.