     var connection: NSURLConnection?
     var response: NSURLResponse?
     var responseData = NSMutableData()
-    var completionHandler: (NSURLResponse!, NSData!, NSError!) -> Void
+    var completionHandler: YYHRequestCompletionHandler
 
     var contentType: String? {
     set {

        var firstPass = true
        
        for (key, value) in parameters {
            var encodedKey: NSString = key.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
            var encodedValue: NSString = value.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
            result += firstPass ? "\(encodedKey)=\(encodedValue)" : "&\(encodedKey)=\(encodedValue)"
            firstPass = false;
        }

    // Request Creation
    
    func request() -> NSMutableURLRequest {
        let request: NSMutableURLRequest = NSMutableURLRequest(URL: url)
        request.HTTPMethod = method
        request.HTTPBody = body
        
