The joke is starting to drag on…
This will only work while the game is running. It won’t be possible to implement a save system this way.
And I’m not sure (haven’t tested) that the references in the duplicated objects will lead to where you expect…
Is it worth making two similar systems, where one of them only does half the work?
UPD
Serialization does this automatically (if you do Rename before)