                 if error != nil {
                     strongSelf.failureHandler?(error)
                 } else if data != nil {
-                    Shared.fileCache.set(value: data!, key: strongSelf.key, formatName: strongSelf.formatName, success: { (data) in
+                    strongSelf.cache.set(value: data!, key: strongSelf.key, formatName: strongSelf.formatName, success: { (data) in
                         strongSelf.successHandler?(data)
                     })
                 }
+                strongSelf.request = nil
+                strongSelf.successHandler = nil
+                strongSelf.failureHandler = nil
+                strongSelf.progressHandler = nil
             }
         })
     }

    
    public typealias SuccessHandler = (NSData) -> ()
    public typealias FailureHandler = (NSError?) -> ()
    
    // MARK: - Properties
    public var URL: URLStringConvertible?

        request?.cancel()
        successHandler = nil
        failureHandler = nil
        progressHandler = nil
    }

}
