             let parameter = ["model":jsonString]
             guard let request: NSMutableURLRequest = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path:"/api/multi/" + multireddit.path + "/description/", parameter:parameter, method:"PUT", token:token)
                 else { throw ReddiftError.URLError.error }
-            let task = URLSession.dataTaskWithRequest(request, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
+            let closure = {(data: NSData?, response: NSURLResponse?, error: NSError?) -> Result<MultiredditDescription> in
                 self.updateRateLimitWithURLResponse(response)
-                let result: Result<MultiredditDescription> = resultFromOptionalError(Response(data: data, urlResponse: response), optionalError:error)
+                return resultFromOptionalError(Response(data: data, urlResponse: response), optionalError:error)
                     .flatMap(response2Data)
                     .flatMap(data2Json)
                     .flatMap(json2RedditAny)
                     .flatMap(redditAny2Object)
-                completion(result)
-            })
-            task.resume()
-            return task
+            }
+            return executeTask(request, handleResponse: closure, completion: completion)
         } catch { throw error }
     }
 }

        let parameter: [String:String] = ["expand_srs":expandSrs ? "true" : "false", "username":username]
        guard let request: NSMutableURLRequest = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path:"/api/multi/user/" + username, parameter:parameter, method:"GET", token:token)
            else { throw ReddiftError.URLError.error }
        let task = URLSession.dataTaskWithRequest(request, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in
            self.updateRateLimitWithURLResponse(response)
            let result: Result<[Multireddit]> = resultFromOptionalError(Response(data: data, urlResponse: response), optionalError:error)
                .flatMap(response2Data)
                .flatMap(data2Json)
                .flatMap(json2RedditAny)
                .flatMap(redditAny2Object)
            completion(result)
        })
        task.resume()
        return task
    }

    /**

            ]
            guard let request: NSMutableURLRequest = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path:"/api/multi/copy", parameter:parameter, method:"POST", token:token)
                else { throw ReddiftError.URLError.error }
            let closure = {(data: NSData?, response: NSURLResponse?, error: NSError?) -> Result<Multireddit> in
                self.updateRateLimitWithURLResponse(response)
                return resultFromOptionalError(Response(data: data, urlResponse: response), optionalError:error)
                    .flatMap(response2Data)
                    .flatMap(data2Json)
                    .flatMap(json2Multireddit)
            }
            return executeTask(request, handleResponse: closure, completion: completion)
        } catch { throw error }
    }
    
