Fix before path change listener

By threading beforeChange through the observer scope.

Spec included.