Reuse is where it gets harder. Showing the model the component isn't the same as getting it to reach for that component instead of writing a twelfth. Retrieval tends to surface whatever is nearest, and nearest is usually the copy in the file already open. Making the shared one the cheapest thing to use is what fixes this. The codebase should say no when a second version appears. The next duplicate only stays out if something is there to stop it.