         
     private func remove(task: DataTask) {
         // We might receive signal from the task which place was taken by another task
-        if self.dataTasks[task.key] === task {
-            self.dataTasks[task.key] = nil
+        if dataTasks[task.key] === task {
+            dataTasks[task.key] = nil
         }
     }
 
     /// Comapres two requests using ImageLoaderDelegate.
     public func isCacheEquivalent(lhs: ImageRequest, to rhs: ImageRequest) -> Bool {
-        return self.delegate.loader(self, isCacheEquivalent: lhs, to: rhs)
+        return delegate.loader(self, isCacheEquivalent: lhs, to: rhs)
     }
 
     /// Signals the data loader to invalidate.

        if !executing {
            executing = true
            if congestionControlEnabled {
                let delay = min(30.0, 10.0 + Double(executingTasks.count) * 2.0)
                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_MSEC))), queue) {
                    self.execute()
                }


    func execute() {
        executing = false
        if let task = pendingTasks.firstObject as? NSURLSessionTask where executingTasks.count < maxExecutingTaskCount {
            pendingTasks.removeObjectAtIndex(0)
            executingTasks.insert(task)
            task.resume()
            setNeedsExecute()
        }
    }
}
