Currently, we use the resolve property to return a promise that will need to be resolved before the route changes. It seems like this new router supports that as well which is great! What I haven't seen yet is how we define what we do when the route did not change. The ui-router has the $stateChangeError event, which I am personally not fond of, but it works.
Thanks!