move to MutationObserver from setInterval
add check before fire
clean up