eachPlugin = (term, display) => {
  const { allPlugins } = plugins
  // TODO: order results by frequency?
  Object.keys(allPlugins).forEach((name) => {
    const plugin = allPlugins[name]
    try {
      plugin.fn({
        ...DEFAULT_SCOPE,
        term,
        hide: (id) => store.dispatch(hideElement(`${name}-${id}`)),
        update: (id, result) => store.dispatch(updateElement(`${name}-${id}`, result)),
        display: (payload) => display(name, payload),
        settings: pluginSettings.getUserSettings(plugin, name)
      })
    } catch (error) {
      // Do not fail on plugin errors, just log them to console
      console.log('Error running plugin', name, error)
    }
  })
}
Pass search term to all plugins and handle their results
@param {String} term Search term
@param {Function} display Callback function that receives used search term and found results