anchor.diff:          base._currentRoute._lastEvent =
               new RouteEvent(match.match, match.parameters);
           newRoute._onRouteController.add(event);
  +        _lastRoute = path;
           return route(match.tail, startingFrom: newRoute);
         }
  -      return true;
  +      return false;
       });
     }
   
  
positive.code: 
    RouteEvent(this.path, this.parameters);
  
    void allowLeave(Future<bool> allow) {
      _allowLeaveFutures.add(allow);
    }
  
negative.code:     _routes[name] = route;
    }
  
    /**
     * Returns a route node at the end of the given route path. Route path
     * dot delimited string of route names.
     */
    Route getRoute(String routePath) {
      var routeName = routePath.split('.').first;
      if (!_routes.containsKey(routeName)) {
  