function RibbonItem(preset, source) {
    let item = {};
    item.preset = preset;
    item.source = source;

    item.isFavorite = () => item.source === 'favorite';
    item.isRecent = () => item.source === 'recent';
    item.matches = (preset) => item.preset.id === preset.id;
    item.minified = () => ({ pID: item.preset.id });

    return item;
  }
@param {boolean=} bypassCache - used by unit tests