I have a rather complicated problem to solve. In the application I am building there are some objects, each object can have some parameters each one has one or multiple values (let's keep it simple for now and pretend each parameter can have only one value).
Now, parameters can be grouped into templates, and when you create/edit an object you can use a template to quickly populate the object, a little bit like Masters in InDesign.
Here is a quick viz to make it a bit clearer.

Now the problem is managing the relations between templates (or masters) and their instances. In fact it is possible that at a given point in time, the user wants to override a object parameter value, or viceversa, edit the template.
I am considering to break the relationship template-children when a object parameter is edited, and prompt with an update request when a template that has children is edited.
Is it the right way to go? If so, how should I notify the user and when? If is not the right way to go, how would you do it?