/// <summary>Downloads the set of required templates that were added via the 'AddRequiredTemplate' method.</summary>
 /// <param name="onComplete">Action which is invoked when the templates have completed downloading.</param>
 protected void DownloadTemplates(Action onComplete)
 {
     if (templateLoader == null)
     {
         Helper.Invoke(onComplete);
         return;
     }
     templateLoader.LoadComplete += delegate
                                        {
                                            Helper.Invoke(onComplete);
                                            templateLoader = null;
                                        };
     templateLoader.Start();
 }