For example, ```js const observer = new ConnectionObserver((connected) => { if (connected) console.log('connected') else console.log('disconnected') }) observer.observe(el) ``` Or, we already have `EventTarget` in the web, why did we need a new API shape (`MutationObserver`) again???? ```js el.addEventListener('connected', () => console.log('connected')) el.addEventListener('disconnected', () => console.log('didconnected')) ```