A new instance WidgetExplorer is created everytime we open get new applets window. Each and every instance of WidgetExplorer has its own newStuffDialog. This means that downloadWidgets method will always create new instance of QtQuickDialogWrapper due to the default value of newStuffDialog is null.
Change newStuffDialog to static so that it will be shared to every instances of WidgetExplorer. This prevents another get new applets window to be opened.