Rework Router.route - but does not break the public API.