docs: function () /* target, method, args */{
        if (!this.currentInstance) {
          return this.run.apply(this, arguments);
        }
  
        var length = arguments.length;
        var method, target;
  
        if (length === 1) {
          method = arguments[0];
          target = null;
        } else {
          target = arguments[0];
          method = arguments[1];
        }
  
        if (_backburnerUtils.isString(method)) {
          method = target[method];
        }
  
        if (length === 1) {
          return method();
        } else if (length === 2) {
          return method.call(target);
        } else {
          var args = new Array(length - 2);
          for (var i = 0, l = length - 2; i < l; i++) {
            args[i] = arguments[i + 2];
          }
          return method.apply(target, args);
        }
      }