Change to use MutationObserver