anchor.diff:      print("router.templateInstance.model: ${router.templateInstance.model}");
     }
     eventDetail['model'] = model;
  -  router.fireEvent('before-data-binding', eventDetail, router);
  -  router.fireEvent('before-data-binding', eventDetail, eventDetail['route']);
  +  _fireEvent('before-data-binding', eventDetail, router);
  +  _fireEvent('before-data-binding', eventDetail, eventDetail['route']);
     return eventDetail['model'];
   }
   
  
positive.code:     scrollToHash(url.hash);
    }
  
    router.fireEvent('activate-route-end', eventDetail, router);
    router.fireEvent('activate-route-end', eventDetail, eventDetail['route']);
  }
  
  /// Call when the previousRoute has finished the transition animation out.
  
negative.code: 
      // fire a state-change event on the app-router and return early if the user called event.preventDefault()
      Map<String, String> eventDetail = {'path': url.path};
      if (!_fireEvent('state-change', eventDetail, this)) {
        return;
      }
  
  