default Subscription observeModifications( Consumer<? super ListModification<? extends E>> observer) { addModificationObserver(observer); return () -> removeModificationObserver(observer); }