track(key, callback) {
    this.trackedCallbacks_[key] = callback;
    const url = new URL(window.location.href);
    const params = url.searchParams;
    const value = params.get(key);
    this.trackedValues_[key] = value;
    return value;
  }
Register a listener for a URL search parameter.  The callback will be called with a new value
when the corresponding search parameter changes due to history events (e.g. browser navigation).

@param {string} key The URL search parameter.
@param {Callback} callback The function to call when the search parameter changes.
@return {string|null} The initial value of the search parameter (or null if absent from the URL).
@api