                                with request: URLRequest) -> DeferredURLSessionTask<(Data, HTTPURLResponse)>
   {
     let tbd = DeferredURLSessionTask<(Data, HTTPURLResponse)>(qos: qos)
-
-    let task = self.dataTask(with: request, completionHandler: dataCompletion(tbd))
-
-    tbd.task = task
+    tbd.urlSessionTask = dataTask(with: request, completionHandler: dataCompletion(tbd))
     return tbd
   }
 


public class DeferredURLSessionTask<Value>: TBD<Value>
{
  private weak var sessionTask: URLSessionTask? = nil

  init(qos: DispatchQoS)
  {

                                 with request: URLRequest, fromData bodyData: Data) -> DeferredURLSessionTask<(Data, HTTPURLResponse)>
  {
    let tbd = DeferredURLSessionTask<(Data, HTTPURLResponse)>(qos: qos)
    tbd.urlSessionTask = uploadTask(with: request, from: bodyData, completionHandler: uploadCompletion(tbd))
    return tbd
  }

