     }
     
     /// Dispatch queue that queues up and dispatches handler blocks
-    private let handlerQueue: dispatch_queue_t
+    private let handlerQueue: NSOperationQueue
     
     /// Session data task that refers the lifetime of the request.
     private var dataTask: NSURLSessionDataTask?

    - returns: Self instance to support chaining.
    */
    public func responseError(handler: ErrorHandler) -> Self {
        dispatch_async(handlerQueue) {
            if let taskResult = self.taskResult {
                switch taskResult {
                case .Failure(let error): handler(error)

     - returns: Self instance to support chaining.
    */
    public func updateErrorUI(handler: ErrorHandler) -> Self {
        handlerQueue.addOperationWithBlock {
            if let taskResult = self.taskResult {
                switch taskResult {
                case .Failure(let error):
