reloadRefreshTriggers() {

    // remove old triggers (if there are any)
    this.callbackManager.remove(this.refreshTriggers);

    // load new trigger list either from attribute or view config
    const str = this.getAttr('refresh-triggers') || this.view.getConfig('refresh-triggers');
    this.refreshTriggers = $tw.utils.parseStringArray(str) || [];

    this.logger('debug', 'Registering refresh trigger', this.refreshTriggers);

    // TODO: not nice, if more than one trigger changed it
    // will cause multiple reassertments
    for (let i = this.refreshTriggers.length; i--;) {
      this.callbackManager.add(this.refreshTriggers[i],
                               this.handleTriggeredRefresh,
                               false);
    }
  }
Refresh-triggers are tiddlers whose mere occurrence in the
changedTiddlers list forces tiddlymap to reassert
whether a filter expression returns the same set of matches as it
is currently displayed in the graph.

The raison d'etre for refresh-triggers is that a filter may contain
implicit text-references or variables that may require a filter to be
reasserted even though, the filter expression itself did not change.

For example a filter `[field:title{$:/HistoryList!!current-tiddler}]`
requires a `$:/HistoryList` refresh trigger to be added to the view so
everytime the `$:/HistoryList` tiddler changes, the filter gets
reasserted.