public IDownloader After(Downloader.AfterDownloadEventDelegate action)
 {
     _onAfterDownload = () =>
     {
         _threadContext.BeginInvoke(() =>
         {
             action();
         });
     };
     return this;
 }
 public IDownloader After(Downloader.AfterDownloadEventDelegate action)
 {
     _onAfterDownload = () =>
     {
         _threadContext.BeginInvoke(() =>
         {
             action();
         });
     };
     return(this);
 }