Don’t hook it to initialise then. Have a custom event and call it when needed.
The thing is that I see what there is duplicate? This should never ever fire more than once since this widget just sits and does nothing else but controls other bits.
Do you re-add this whole thing to the viewport?