             if konstructor.hasSharedMethod method.method
               apply this, konstructor, method.method, args, sessionToken, userArea, client
             else
-              @handleUserError "No such method! #{JSON.stringify method} #{args} #{secretName}"
+              @handleUserError "No such method! #{JSON.stringify method}", args
+
           when 'instance'
             if konstructor::hasSharedMethod method.method
+
               if method.id
-                konstructor.one? _id: method.id, (err, instance)=>
+
+                unless konstructor.one?
+                  @handleUserError "Constructor #{konstructor.name} has no instance getter!", args
+                  return
+
+                konstructor.one? _id: method.id, (err, instance) =>
                   if err
-                    @handleUserError err
+                    @handleUserError err, args
                   else unless instance
-                    console.warn "#{konstructor.name} instance with id #{method.id} is not found"
-                    return
+                    @handleUserError "#{konstructor.name} instance with id #{method.id} is not found", args
                   else
                     apply this, instance, method.method, args, sessionToken, userArea, client
+
               else if method.data
                 instance = new konstructor method.data
                 apply this, instance, method.method, args, sessionToken, userArea, client
+
             else
-              @handleUserError "No such method! #{JSON.stringify method} #{args} #{secretName}"
+              @handleUserError "No such method! #{JSON.stringify method}", args
+
           else
-            @handleUserError 'Unknown method type!'
+            @handleUserError 'Unknown method type!', args
+
       else
-        kallback = @localStore.get method
-        if kallback?
+        if (kallback = @localStore.get method)?
           apply this, null, kallback, args, sessionToken, userArea, client
         else
-          @handleUserError 'Unknown method type!'
-
-  handleUserError:(message)->
-    console.warn message
+          @handleUserError 'Unknown method type!', args
+
+
+  handleUserError: (message, args) ->
+
+    console.warn '[Bongo:UserError]', message, args
+
+    if (Array.isArray args) and args.length > 0
+      callback = args[args.length - 1]
+      if 'function' is typeof callback
+        callback { message }
+
     @emit 'userError', message
+
 
   detectErrFirst:(cursor)->
     if cursor.path.length is 1 and

    @description - apply the method, conditionally currying the "client" object
    ###
    apply = (bongo, ctx, method, args, sessionToken, userArea, client) ->
      unless ctx?
        bongo.handleUserError "bad instance! #{method}"
        return
      if 'function' is typeof method
        fn = method
      else if ctx? and 'string' is typeof method

        # a given model, and provides a wrapper for it; otherwise, search for
        # the method with the exact name.
        fn = ctx["#{method}$"] ? ctx[method]

      unless fn?
        bongo.handleUserError "Unknown method! #{method}", args
        return

      if fn.isSecurityEnabled
        if client
          args = [client].concat args
