anchor.diff:          .findTestabilityInTree(registry, (elem as Node).parentNode, true);
     }
   
  -  js.JsObject _createRegistry(TestabilityRegistry registry) {
  -    var object = new js.JsObject(js.context['Object']);
  -    object['getAngularTestability'] =
  -        _jsify((Element elem, bool findInAncestors) {
  +  dynamic _createRegistry(TestabilityRegistry registry) {
  +    var object = js_util.newObject();
  +    js_util.setProperty(object, 'getAngularTestability',
  +        allowInterop((Element elem, bool findInAncestors) {
         var testability = registry.findTestabilityInTree(elem, findInAncestors);
         return testability == null
             ? null
  -          : _jsify(new PublicTestability(testability));
  -    });
  -    object['getAllAngularTestabilities'] = _jsify(() {
  +          : new PublicTestability(testability)._toJsObject();
  +    }));
  +    js_util.setProperty(object, 'getAllAngularTestabilities', allowInterop(() {
         var publicTestabilities = registry
             .getAllTestabilities()
  -          .map((testability) => new PublicTestability(testability));
  -      return _jsify(publicTestabilities);
  -    });
  +          .map((t) => new PublicTestability(t)._toJsObject())
  +          .toList();
  +      return publicTestabilities;
  +    }));
       return object;
     }
   }
  
positive.code:     this._testability.whenStable(callback);
    }
  
    List findBindings(Element elem, String binding, bool exactMatch) {
      return this._testability.findBindings(elem, binding, exactMatch);
    }
  
    js.JsObject _toJsObject() {
      return _jsify({
        'findBindings': (bindingString, [exactMatch, allowNonElementNodes]) =>
            findBindings(bindingString, exactMatch, allowNonElementNodes),
        'isStable': () => isStable(),
        'whenStable': (callback) =>
            whenStable((didWork) => callback.apply([didWork]))
      })..['_dart_'] = this;
    }
  }
  
  
negative.code:   const BrowserGetTestability();
  
    void addToWindow(TestabilityRegistry registry) {
      var jsRegistry = js_util.getProperty(_self, 'ngTestabilityRegistries');
      if (jsRegistry == null) {
        js_util.setProperty(_self, 'ngTestabilityRegistries', jsRegistry = []);
        js_util.setProperty(_self, 'getAngularTestability',
            allowInterop((Element elem, [bool findInAncestors = true]) {
          var registry = js_util.getProperty(_self, 'ngTestabilityRegistries');
          for (int i = 0; i < registry.length; i++) {
            var result = js_util.callMethod(
                registry[i], 'getAngularTestability', [elem, findInAncestors]);
            if (result != null) return result;
          }
          throw 'Could not find testability for element.';
        }));
        var getAllAngularTestabilities = () {
          var registry = js_util.getProperty(_self, 'ngTestabilityRegistries');
          var result = [];
          for (int i = 0; i < registry.length; i++) {
            var testabilities =
                js_util.callMethod(registry[i], 'getAllAngularTestabilities', []);
            if (testabilities != null) result.addAll(testabilities);
          }
          return result;
        };
        js_util.setProperty(_self, 'getAllAngularTestabilities',
            allowInterop(getAllAngularTestabilities));
  
        var whenAllStable = allowInterop((callback) {
          var testabilities = getAllAngularTestabilities();
          var count = testabilities.length;
          var didWork = false;
          var decrement = (bool didWork_) {
            didWork = didWork || didWork_;
            count--;
            if (count == 0) {
              callback(didWork);
            }
          };
          for (var testability in testabilities) {
            js_util
                .callMethod(testability, 'whenStable', [allowInterop(decrement)]);
          }
        });
        if (!js_util.hasProperty(_self, 'frameworkStabilizers')) {
          js_util.setProperty(_self, 'frameworkStabilizers', []);
        }
        js_util.getProperty(_self, 'frameworkStabilizers').add(whenAllStable);
      }
      jsRegistry.add(this._createRegistry(registry));
    }
  