initial migration to MutationObserver interface