public IDownloader OnError(Downloader.ErrorEventDelegate action)
 {
     _onError = e =>
     {
         _threadContext.BeginInvoke(() =>
         {
             action(e);
         });
     };
     return this;
 }
 public IDownloader OnError(Downloader.ErrorEventDelegate action)
 {
     _onError = e =>
     {
         _threadContext.BeginInvoke(() =>
         {
             action(e);
         });
     };
     return(this);
 }