anchor.diff:     * Matches the [url] against the [Route] pattern and returns [Map] of matched
      * parameters or [null] if the Route does not match.
      */
  -  ObservableMap match(String url) {
  +  Map match(String url) {
       var match = this._matchExp.firstMatch(url);
   
       // If the [url] does not match, returns [null].
  
positive.code:     }
  
      // Decode [url] parameters and fill them into [Map].
      ObservableMap result = new ObservableMap();
      for (var i = 0; i < this._variables.length; i++) {
        result[this._variables[i]] = decodeUriComponent(match.group(i+1));
      }
  
      return result;
  
negative.code:  * view rendering.
   */
  class PageNavigator {
    final History history;
    final Router router;
    final Map<String, dynamic> views;
    final transitionHandler;
    var activeRoute;
  
    PageNavigator(
      this.history,
      this.router,
      this.views,
  