     public static var shared = HTTPSession()
 
     /// The underlying `URLSession` used for tasks.
-    public private(set) var session: URLSession!
+    public private(set) var urlSession: URLSession!
 
     /// If set this handler will be used for both session and task authentication challenges.
     public var authenticationChallengeHandler: ( (URLSession, URLSessionTask?, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?) )?

        self.completion = completion
    }
}

    {
        var methodRequest = request
        methodRequest.httpMethod = method
        let task = urlSession.uploadTask(with: methodRequest, from: data)

        let handler = TaskHandler(completion: completion)
        handler.uploadProgress = uploadProgress
