     self.handler = handler
 
     let config = URLSessionConfiguration.default
-    downloadSession = URLSession(configuration: config, delegate: self, delegateQueue: nil)
+    downloadSession = URLSession(configuration: config)
   }
 
   func addRequest(_ request: HTTPDownloadRequest) {

    // which calls this method.  Thus, this method may serve as the single source of the 'queue finished' message.
  }

  // This is triggered before the 'didCompleteWithError' delegate method.
  func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask,
                  didFinishDownloadingTo location: URL) {
    guard let currentRequest = currentRequest else {
      return
    }
    log.debug("Downloaded file \(currentRequest.url) as \(location), " +
      "to be copied to \(currentRequest.destinationFile ?? "nil")")


  func downloadQueueCancelled(_ queue: HTTPDownloader)
}

class HTTPDownloader: NSObject {
  var queue: [HTTPDownloadRequest] = []
  // TODO: Make unowned
  weak var handler: HTTPDownloadDelegate?
