I still think we might be able to use the loadWidget function from the upload/createlink widget and inject it into a specific container. In that case, we don't really need lazy loading as the widget would only be loaded when the upload/createlink widget is loaded. It also has the additional benefit that upload and createlink would have a different instance of the setpermissions widget, which could make it easier to make sure that they don't interact with each other.