 */
 public class Loader {
 
-    unowned let delegate: Manager
+    weak var delegate: Manager?
     let task: NSURLSessionDataTask
     var receivedData = NSMutableData()
     internal var blocks: [Block] = []

                failure(URL, error: error)
                return
            }
            dispatch_async(delegate.decompressingQueue) {
                self.success(URL, data: self.receivedData)
            }
        }
    }


    private let decompressingQueue = dispatch_queue_create(nil, DISPATCH_QUEUE_CONCURRENT)

    public init(configuration: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration(),
        cache: ImageCache = Diskcached()
        ) {
            session = NSURLSession(configuration: configuration, delegate: delegate, delegateQueue: nil)
