@Override default void addListener(InvalidationListener listener) { addQuasiChangeObserver(new InvalidationListenerWrapper<>(this, listener)); }
default Subscription observeQuasiChanges(QuasiChangeObserver<? super E> observer) { addQuasiChangeObserver(observer); return () -> removeQuasiChangeObserver(observer); }
@Override default void addListener(ListChangeListener<? super E> listener) { addQuasiChangeObserver(new ChangeListenerWrapper<>(this, listener)); }
default void addChangeObserver(Consumer<? super ListChange<? extends E>> observer) { addQuasiChangeObserver(new ChangeObserverWrapper<>(this, observer)); }