All of that is absolutely fantastic and I am trying to leverage every part of it (especially the DeploymentCatalogService approach, although I fear (and hope) that it will be overridden with a true distributable in the near future).
However, these samples are a little bit misleading; SatisfyImports() is not asynchronous and you have already loaded all the catalogs before the button is pressed; if you put AddXap() to the button click nothing will work; and this is exacly the scenario
that we want: nothing should be pre-loaded unless it is going to be used. Essentially, you pre-load everything in the main page and if the user quick enough and the server slow enough it will break as well.
In short I would expect IPartImportsSatisfiedNotification to be more closely related to an async SatisfyImports.