         completionHandler(.Allow)
     }
 
-    public func URLSession(
+    internal func URLSession(
         session : NSURLSession,
         dataTask: NSURLSessionDataTask,
         didReceiveData data: NSData) {

    }

    private var _downloadedBytesCount: Int64 = 0
    private(set) public var downloadedBytesCount: Int64 {
        get {
            return _downloadedBytesCount
        }

        self.didReceiveDataBlock?(data: data)
    }

    internal func URLSession(
        session: NSURLSession,
        task   : NSURLSessionTask!,
        didCompleteWithError error: NSError?) {
