title: How can I subscribe (or observe) the DOM window and callback upon any changes; not just for window resize events, scroll events, etc.?
body: <p>I'm trying to watch the window object for changes to any of it's properties and trigger an event whenever any properties change.</p>
  
  <p>For example: <code>window.addEventListener('windowPropertiesChanged', () =&gt; {/* do something */})</code></p>
  
  <p>Can this be implemented with some kind of subscription or observer (mutation observer)? Is there a best practice for doing this?</p>
  
  <p>Thanks in advance for your help.</p>