      *  Send this resource request asynchronously, with the given JSON object as the request body.
      *  If no content type header was set, this method will set it to "application/json".
      *
-     *  @param json     The JSON object to put in the request body
-     *  @param delegate The delegate whose onSuccess or onFailure methods will be called when this request finishes.
+     *  @param completionHandler    The closure that will be called when this request finishes.
+     *  @param requestJson          The JSON object to put in the request body
      */
-    public func sendWithRequestJson(jsonData: [String: AnyObject], delegate: ResponseDelegate) {
+    public func sendWithCompletionHandler(completionHandler: (NSURLRequest?, NSHTTPURLResponse?, NSData?, ErrorType?) -> Void,
+                                         requestJson: [String: AnyObject]) {
         
     }
     

    
    // MARK: Methods (public)
    
    // DGONZ: Public properties instead of getters and setters?
    
    // DGONZ: Is removeHeaders necessary? User can just set to nil.
    
    // DGONZ: Is addHeader and addQueryParams necessary? They are just String:String dictionaries
    
    // TODO: Delegates vs completion blocks 
    // (Obj-C API had only 1 send method, and it took a block as its only parameter)
    
    /**
     *  Send this resource request asynchronously, without a request body.
     *
     *  @param delegate The delegate whose onSuccess or onFailure methods will be called when this request finishes.
     */
    public func sendWithDelegate(delegate: ResponseDelegate) {
        
    }
    

     *  Send this resource request asynchronously, with the given string as the request body.
     *  If no content type header was set, this method will set it to "text/plain".
     *
     *  @param completionHandler    The closure that will be called when this request finishes.
     *  @param requestBody          The request body text
     */
    public func sendWithCompletionHandler(completionHandler: (NSURLRequest?, NSHTTPURLResponse?, NSData?, ErrorType?) -> Void,
                                         requestBody: String) {
        
    }
    
