This is roughly what should happen everytime `reinitialize` happens.  To make that possible, you should make sure everything can be run multiple times – mostly you shouldn't overwrite the id attribute if it's already been set.