code: function _addItems(item, $container) {
      if (Array.isArray(item)) {
        item.forEach(function(item) {
          _addItems(item, $container);
        });
      } else if (utils.includesCapability(meta.activeWatchInfo, item.capabilities)) {
        if (item.type === 'section') {
          var $wrapper = HTML('<div class="section">');
          $container.add($wrapper);
          _addItems(item.items, $wrapper);
        } else {
          var _item = _.copyObj(item);
          _item.clayId = _items.length;
  
          var clayItem = new ClayItem(_item).initialize(self);
  
          if (_item.id) {
            _itemsById[_item.id] = clayItem;
          }
  
          if (_item.messageKey) {
            _itemsByMessageKey[_item.messageKey] = clayItem;
          }
  
          _items.push(clayItem);
  
          // set the value of the item via the manipulator to ensure consistency
          var value = typeof _settings[_item.messageKey] !== 'undefined' ?
            _settings[_item.messageKey] :
            _item.defaultValue;
  
          clayItem.set(typeof value !== 'undefined' ? value : '');
  
          $container.add(clayItem.$element);
        }
      }
    }
docs: Add item(s) to the config
  @param {Clay~ConfigItem|Array} item
  @param {M} $container
  @return {void}