             let statusCode: Int = httpResponse.statusCode
             let containsStatusCode:Bool = Request.acceptableStatusCodes().contains(statusCode)
             
-            if (!containsStatusCode) {
+            if !containsStatusCode {
                 dataResp = nil
             }
-            
-            if (successBlock != nil) {
-                successBlock!(dataResp, httpResponse)
-            }
-            
-            if (errorBlock != nil) {
-                
-                if (error != nil) {
-                    errorBlock!(error!, httpResponse)
-                }
-                
-                if (!containsStatusCode) {
+
+            /// Process Success Block
+            
+            successBlock?(dataResp, httpResponse)
+            
+            /// Process Error Block
+            
+            if let errorCallBack = errorBlock {
+                
+                if let error = error {
+                    
+                    errorCallBack(error, httpResponse)
+                    return
+                }
+                
+                if !containsStatusCode {
                     
                     let localizedErrorString: String = "There was an error processing the request"
                     let errorDictionary: [String:String] = ["NSLocalizedDescriptionKey" : localizedErrorString, "TheoResponseCode" : "\(statusCode)", "TheoResponse" : response!.description]

                        return NSError(domain: TheoNetworkErrorDomain, code: NSURLErrorUnknown, userInfo: errorDictionary)
                    }()
                    
                    errorBlock!(requestResponseError, httpResponse)
                }
            }
        } as! (Data?, URLResponse?, Error?) -> Void)

            let statusCode: Int = httpResponse.statusCode
            let containsStatusCode:Bool = Request.acceptableStatusCodes().contains(statusCode)

            if !containsStatusCode {
                dataResp = nil
            }
      
            /// Process Success Block
            
            successBlock?(dataResp, httpResponse)
    
            /// Process Error Block
            
            if let errorCallBack = errorBlock {
                
                if let error = error {
                    
                    errorCallBack(error, httpResponse)
                    return
                }
                
                if !containsStatusCode {
                    
                    let localizedErrorString: String = "There was an error processing the request"
                    let errorDictionary: [String:String] = ["NSLocalizedDescriptionKey" : localizedErrorString, "TheoResponseCode" : "\(statusCode)", "TheoResponse" : response!.description]
                    let requestResponseError: NSError = {
                        return NSError(domain: TheoNetworkErrorDomain, code: NSURLErrorUnknown, userInfo: errorDictionary)
                    }()
                    
                    errorCallBack(requestResponseError, httpResponse)
                }
            }

        } as! (Data?, URLResponse?, Error?) -> Void)
    
        task.resume()
