docs: function() {
      var key = Array.prototype.shift.call(arguments);
      if (typeof Modifiers[key] != 'function') return Modifiers.error.call(this, {reason: 'no method', val: key});
      var ob = arguments[0];
      if (Modifiers.mappers[key] instanceof Array && (ob == null || (typeof ob != 'object') || (ob.constructor != Object))) {
        var context = {};
        Array.prototype.forEach.call(arguments, function(v, k) {
          var arg = Modifiers.mappers[key][k];
          if (arg) context[arg] = v;
        });
        return Modifiers[key].bind(context);
      }
  
      return Modifiers[key].bind(arguments[0] || {});
    }