 
 {defaults, required} = misc
 
+is_fatal = (err) ->
+    return typeof(err) == 'string' and err.slice(0,5) == 'FATAL'
+
 cb_fatal = (err, cb) ->
     if not cb?
         return
-    if typeof(err) == 'string' and err.slice(0,5) == 'FATAL'
+    if is_fatal(err)
         # throw in an arbitrary pause to wait for proper connection or
         # give the backend time to breath
         setTimeout((->cb(err)), 5000 + Math.random()*5000)

            options : @_options
            cb      : (err, resp) =>
                if err
                    cb?(err)
                    cb = undefined
                    return


                        if this_query_id?
                            @_client.query_cancel(id:this_query_id)
                        return
                    if resp?.event == 'query_cancel'
                        @_disconnected("err=#{err}, resp?.event=#{resp?.event}")
                    else
                        # Handle the update
