It was gettig tedious to add the change tracking logic in all of the methods. And since there likely will be many more such methods, I have now extracted that bit into its own function.