     static
     func dataTask(request: NSURLRequest) -> DataTaskResult
     {
-        return session.dataTaskSync(request)
+        let result = session.dataTaskSync(request)
+        
+        //===
+        
+        onDidReceiveDataResponse(request, result)
+        
+        //===
+        
+        return result
     }
     
     //=== Public members

    public
    static
    var onDidPrepareRequest: (NSMutableURLRequest) -> NSMutableURLRequest = { return $0 }
    
    public
    class

    static
    var onDidPrepareRequest: (NSMutableURLRequest) -> NSMutableURLRequest { get }
    
    static
    var onDidReceiveDataResponse: (NSURLRequest, DataTaskResult) -> Void { get }
    
    // call this method before start using the class
    // handle initial configuration here
    static
