     var validate: (URLResponse) -> Swift.Error? = DataLoader.validate
     let queue = OperationQueue()
     private var handlers = [URLSessionTask: _Handler]()
-    var didReciveData: ((_ data: Data?, _ error: Error?)->())?
+    var didReceiveData: ((_ data: Data?, _ error: Error?)->())?
     override init() {
         self.queue.maxConcurrentOperationCount = 1
     }

        self.session = URLSession(configuration: configuration, delegate: impl, delegateQueue: impl.queue)
        self.impl.session = self.session
        self.impl.validate = validate
        self.impl.didReciveData = {[weak self] data, error in
            guard let _strongSelf = self else { return }
            _strongSelf.didReciveData?(data, error)
        }
    }


public final class DataLoader: DataLoading {
    public let session: URLSession
    private let impl: _DataLoader
    public var didReceiveData: ((_ data: Data?, _ error: Swift.Error?)->())?
    /// Initializes `DataLoader` with the given configuration.
    /// - parameter configuration: `URLSessionConfiguration.default` with
    /// `URLCache` with 0 MB memory capacity and 150 MB disk capacity.
