         
         let executeCallback: () -> Void = {
             self.execute {
-                let result = callback(context: HNTaskContext(result: self.result))
+                let context = HNTaskContext(result: self.result, error: self.error)
+                let result = callback(context: context)
                 if let resultTask = result as? HNTask {
                     resultTask.continueWith { (context: HNTaskContext) -> Any? in
                         // TODO: cancel?

    let result: Any?
    var error: Any?
    
    init(result: Any?) {
        self.result = result
    }
}



                        return nil
                    }
                } else {
                    task.complete(result: result, error: context.error)
                }
            }
        }
