Single settle loop

One approach at trying to stop the "multiple settle loops" that could start if you are manually calling settleTransforms inside your own sources.

Feedback more than welcome - this should pass tests this time! :smile: