Main goals of this refactor: * Make it more obvious which update function should be used. * Make it more obvious which parameters are required by using references instead of pointers. * Support passing in multiple modified trees instead of just a single one. No functional changes are expected. Pull Request: https://projects.blender.org/blender/blender/pulls/132862