public static DownloadingModuleCatalog CreateFromXamlAsync(Uri builderResourceUri, Action<ModuleCatalog> completedCallback = null)
{
Argument.IsNotNull("builderResourceUri", builderResourceUri);
Log.Debug("Downloading file '{0}'", builderResourceUri);
var moduleCatalog = new DownloadingModuleCatalog();
var webClient = new WebClient();
webClient.DownloadStringCompleted += OnModuleCatalogXmlCompleted;
webClient.DownloadStringAsync(builderResourceUri, new Tuple<ModuleCatalog, Action<ModuleCatalog>>(moduleCatalog, completedCallback));
return moduleCatalog;
}