anchor.diff:    final bool _isLayoutTest;
     HtmlEnhancedConfiguration(this._isLayoutTest);
   
  -  // TODO(rnystrom): Get rid of this if we get canonical closures for methods.
  -  EventListener _onErrorClosure;
  -  EventListener _onMessageClosure;
  +  var _onErrorSubscription = null;
  +  var _onMessageSubscription = null;
  +
  +  void _installOnErrorHandler() {
  +    if (_onErrorSubscription == null) {
  +      // Listen for uncaught errors.
  +      _onErrorSubscription = window.onError.listen(
  +          (e) => handleExternalError(e, '(DOM callback has errors)'));
  +    }
  +  }
  +
  +  void _installOnMessageHandler() {
  +    if (_onMessageSubscription == null) {
  +      // Listen for errors from JS.
  +      _onMessageSubscription = window.onMessage.listen(
  +          (e) => processMessage(e));
  +    }
  +  }
   
     void _installHandlers() {
  -    if (_onErrorClosure == null) {
  -      _onErrorClosure =
  -          (e) => handleExternalError(e, '(DOM callback has errors)');
  -      // Listen for uncaught errors.
  -      window.on.error.add(_onErrorClosure);
  -    }
  -    if (_onMessageClosure == null) {
  -      _onMessageClosure = (e) => processMessage(e);
  -      // Listen for errors from JS.
  -      window.on.message.add(_onMessageClosure);
  -    }
  +    _installOnErrorHandler();
  +    _installOnMessageHandler();
     }
   
     void _uninstallHandlers() {
  -    if (_onErrorClosure != null) {
  -      window.on.error.remove(_onErrorClosure);
  -      _onErrorClosure = null;
  -    }
  -    if (_onMessageClosure != null) {
  -      window.on.message.remove(_onMessageClosure);
  -      _onMessageClosure = null;
  +    if (_onErrorSubscription != null) {
  +      _onErrorSubscription.cancel();
  +      _onErrorSubscription = null;
  +    }
  +    if (_onMessageSubscription != null) {
  +      _onMessageSubscription.cancel();
  +      _onMessageSubscription = null;
       }
     }
   
  
positive.code:           // 'safeGroup' could be empty
            var grp = (safeGroup == '') ? null : te.query('#${safeGroup}');
            if (grp != null){
              grp.on.click.add((_){
                var row = document.query('.unittest-row-${safeGroup}');
                if (row.attributes['class'].contains('unittest-row ')){
                  document.queryAll('.unittest-row-${safeGroup}').forEach(
  
negative.code:     }
  
      addRowElement(id, status, description){
        te.children.add(
          new Element.html(
            ''' <div>
                  <div class='$display unittest-row-${groupID} $background'>
  