load(directive, element, attrs, events, optionDefinitions) {
        let defaultValidator = () => true;
        let options = {};

        angular.forEach(optionDefinitions, (value, key) => {
          let type = value[0];
          let localDefault = value[1];
          let validator = value[2] || defaultValidator;
          let converter = converters[type];

          let getDefault = () => {
            let globalValue = globalDefaults[directive] && globalDefaults[directive][key];
            return angular.isDefined(globalValue) ? globalValue : localDefault;
          };

          let updateValue = value => {
            options[key] = value && validator(value) ? converter(value) : getDefault();
          };

          if (interpolationStatus[directive] && interpolationStatus[directive][key]) {
            attrs.$observe(key, value => {
              updateValue(value);
              events.trigger('option-change', { name: key, newValue: value });
            });
          }
          else {
            updateValue(attrs[key] && $interpolate(attrs[key])(element.scope()));
          }
        });

        return options;
      }
@ngdoc method
@name tagsInputConfig#setTextAutosizeThreshold
@description Sets the threshold used by the tagsInput directive to re-size the inner input field element based on its contents.

@param {number} threshold Threshold value, in pixels.

@returns {object} The service itself for chaining purposes.