anchor.diff:      }
   
       // listen for URL change events
  -    stateChangeHandler = (Event e) => stateChange(this); //stateChange.bind(null, this); //TODO
  +    stateChangeHandler = (Event e) => stateChange(this);
       window.addEventListener('popstate', stateChangeHandler, false);
       if (isIE) {
         // IE bug. A hashchange is supposed to trigger a popstate event, making popstate the only event you
  
positive.code: void activateCustomElement(AppRouter router, String elementName, AppRoute route, RouteUri url, Map eventDetail) {
    Element customElement = document.createElement(elementName);
    Map<String, String> model = createModel(router, route, url, eventDetail);
    customElement.attributes.addAll(model);//TODO
    activeElement(router, customElement, url, eventDetail);
  }
  
    // Create an instance of the template
  void activeTemplate(AppRouter router, TemplateElement template, AppRoute route, RouteUri url, Map eventDetail) {
    DocumentFragment templateInstance;
    /*if ('createInstance' in template) {*/ //TODO
      // template.createInstance(model) is a Polymer method that binds a model to a template and also fixes
      // https://github.com/erikringsmuth/app-router/issues/19
      //Map model = createModel(router, route, url, eventDetail);
      //templateInstance = (template as AutoBindingElement).createInstance(model: model);
      //templateInstance = templateBindFallback(template).createInstance(model: model);
      //template.model = toObservable(model);//
      //templateBind(template).model = toObservable(model);
      //templateInstance = template;
    /*} else {
      templateInstance = document.importNode(template.content, true);
    }*/
  
    templateInstance = document.importNode(template.content, true);
    activeElement(router, templateInstance, url, eventDetail);
  }
  
  
negative.code:   Map model = routeArguments(route.getAttribute('path'), url.path, url.search, route.regex, router.typecast == 'auto');
    if (route.bindRouter != null || router.bindRouter != null) {
      model['router'] = router;
      print("router.templateInstance.model: ${router.templateInstance.model}");
    }
    eventDetail['model'] = model;
    router.fireEvent('before-data-binding', eventDetail, router);
  