code: ListenerToken addChangeListener(Executor executor, QueryChangeListener listener) {
          synchronized (lock) {
              if (!observing) { start(); }
              return changeNotifier.addChangeListener(executor, listener);
          }
      }
docs: Adds a change listener.
  <p>
  NOTE: this method is synchronized with Query level.