The way you treat index here rubs me the wrong way... if you do it this way I believe you're baking additional assumptions about the caller of this function (that it's called on two components in the same position). While that was true before it seems like a bit of a weird assumption to bake in, no?.

Can you change `getComponentKey()` to look at `_mountIndex` or does that break stuff?