Evento cuando window.location.href cambia

Estoy escribiendo un script de Greasemonkey para un sitio que en algún momento modificalocation.href.

¿Cómo puedo obtener un evento (a través dewindow.addEventListener o algo similar) cuandowindow.location.href cambios en una página? También necesito acceso al DOM del documento que apunta a la URL nueva / modificada.

He visto otras soluciones que incluyen tiempos de espera y encuestas, pero me gustaría evitarlo si es posible.