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

let operationQueue = NSOperationQueue()

class YYHRequest: NSObject, NSURLConnectionDataDelegate {
    var url: NSURL
    var method = "GET"
    var body = NSData()

    
    init(url: NSURL) {
        self.url = url
        completionHandler = {response, data, error in}
        operationQueue.maxConcurrentOperationCount = 4
        operationQueue.name = "com.yayuhh.YYHRequest"
    }
    
    // Request Loading
    
    func loadWithCompletion(completionHandler: YYHRequestCompletionHandler) {
        self.completionHandler = completionHandler
        loadRequest()
    }
