anchor.diff:     */
     Future<bool> route(String path) {
       _logger.finest('route $path');
  -    _lastPath = path;
       _Route route;
       List matchingRoutes = _routes.values.where(
           (r) => r.path.match(path) != null).toList();
  
positive.code:       _defaultRoute = route;
      }
      _routes[name] = route;
    }
  
    Future removeRoute(String name) {
      var route = _routes[name];
      if (route == null) {
        throw new ArgumentError('Route $name does not exist.');
      }
      if (identical(route, _currentRoute)) {
        return _leaveCurrentRoute(_currentRoute.lastEvent).then((allowed) {
          if (allowed) {
            _actuallyRemoveRoute(name);
          }
          return allowed;
        });
      } else {
        _actuallyRemoveRoute(name);
        return new Future.value(true);
      }
    }
  
    _actuallyRemoveRoute(String name) {
      var route = _routes.remove(name);
      if (identical(route, _currentRoute)) {
        _currentRoute = null;
      }
      if (identical(route, _defaultRoute)) {
        _defaultRoute = null;
      }
    }
  
    /**
  
negative.code:   final Router _parent;
    _Route _defaultRoute;
    _Route _currentRoute;
  
    Stream<RouteEvent> get onRoute => _onRouteController.stream;
    Stream<RouteEvent> get onLeave => _onLeaveController.stream;
  