 extension UIImageView {
     
     func loadImageFromURL(url: NSURL,
-        onLoadFromCacheSuccess: () -> Void,
+        onLoadFromCacheSuccess: (source: DRNet.URLCacheResponse.Source) -> Void,
         onLoadFromCacheFailure: (errors: [NSError]) -> Void,
         onLoadFromNetworkSuccess: () -> Void,
         onLoadFromNetworkFailure: (errors: [NSError]) -> Void,

            },
            onSuccess: { (response, deserializedData, shouldHandle) -> Void in
                loadedFromCache = true
                onLoadFromCacheSuccess()
            },
            onComplete: { (response, deserializedData, errors) -> Void in
                operation.perfromRequest(request,

        
        imageView.loadImageFromURL(
            NSURL(string: "http://placekitten.com/g/1024/512")!,
            onLoadFromCacheSuccess: { [weak self] (source: DRNet.URLCacheResponse.Source) -> Void in
                let sourceString: String = {
                    switch source {
                    case .Unknown:
                        return "unknown source"
                    case .MemoryCache:
                        return "memory"
                    case .DiskCache:
                        return "disk"
                    }
                }()
                self?.logText("Successfully loaded from cache (\(sourceString)).")
                return
            },
            onLoadFromCacheFailure: { [weak self] (errors) -> Void in
