default Subscription observeChanges(Consumer<? super ListChange<? extends E>> observer) { addChangeObserver(observer); return () -> removeChangeObserver(observer); }