update(key, value) {
    const url = new URL(window.location.href);
    const params = url.searchParams;
    if (value === null) {
      params.delete(key);
    } else {
      params.set(key, value);
    }
    if (key in this.trackedValues_) {
      this.trackedValues_[key] = value;
    }
    this.updateHistory_(url);
  }
Update the URL with a new search parameter value.  If the value is null, it will be
deleted from the search parameters.

@param {string} key The URL search parameter.
@param {string|null} value The updated value (or null to remove it from the URL).
@api