                     self.writeResumeData(data, name: name)
                 }
             }
+            
+            progress.removeValue(forKey: name)
+            handlers.removeValue(forKey: name)
+            tasks.removeValue(forKey: name)
         }
     }
     
     func resume(url:String)
     {
-        let name:String = self.get(name: url)
+        let name:String = get(name: url)
         if let task = tasks[name]
         {
             task.resume()

    {
        if let url = downloadTask.originalRequest?.url
        {
            let name:String = self.get(name: url.absoluteString)
            if let item = progress[name]
            {
                item.bytesWritten = fileOffset

    
    func suspend(url:String)
    {
        let name:String = get(name: url)
        if let task = tasks[name]
        {
            task.suspend()
        }
    }
    
    func has(task url:String)->Bool
    {
        let name = get(name: url)
        return tasks[name] != nil
    }
    
    func load(url:String, completion completeHandler:LoadCompleteHandler?, progression progressHandler:LoadProgressHandler? = nil)
