anchor.diff:          return _processNewRoute(baseRoute, path, match, matchedRoute);
         } else {
           baseRoute._currentRoute._lastEvent =
  -            new RouteEvent(match.match, match.parameters);
  +            new RouteEvent(match.match, match.parameters,
  +                baseRoute._currentRoute);
           return route(match.tail, startingFrom: matchedRoute);
         }
       }
  
positive.code: class RouteEvent {
    final String path;
    final Map parameters;
    var _allowLeaveFutures = <Future<bool>>[];
  
    RouteEvent(this.path, this.parameters);
  
    /**
     * Can be called on leave with the future which will complete with a boolean
  
negative.code:     _allowLeaveFutures.add(allow);
    }
  
    RouteEvent _clone() => new RouteEvent(path, parameters, route);
  }
  
  abstract class Routable {
  