Instances should not inherit their name from the main component
There’s a number of problems that arise when the component instances don’t have their own name field. Component instances should have an instance name and a name field that always maps back to the master.
Currently, the logic is, if you rename an instance, the connection between the master’s name and the instance name is severed. Though, the actual inheritance link between the master and instance is still intact. This causes a confusing user experience. You can’t tell what’s derived from what.
The current logic is too clever for its own good. If you decide to change the name of a component, via the master, then the name change will propagate to all of the instances except for the ones that you may have renamed.