         }
         
         if let url = url {
-            self.downloadTaskIdentifier = Vincent.sharedInstance.downloadImageFromUrl(url, cacheType: cacheType, success: {[weak self] (image) -> () in
+            self.downloadTaskIdentifier = Vincent.sharedInstance.downloadImageFromUrl(url, cacheType: cacheType, success: {[weak self] image in
                 self?.downloadTaskIdentifier = nil
                 dispatch_async(dispatch_get_main_queue(), { () -> Void in
-                    let imageView : UIImageView? = self
-                    imageView?.image = image
+                    self?.image = image
                     completion?(error: nil, image: image)
                 })
                 }, error: {[weak self] (error: NSError) -> () in

        Vincent.sharedInstance.invalidate(self.downloadTaskIdentifier)
        self.downloadTaskIdentifier = nil
    }
}
import ObjectiveC

private var downloadTaskKey: UInt8 = 0

public extension UIImageView {
    var downloadTaskIdentifier: String? {
        get {
