anchor.diff:  
         notifyPropertyChange(#selectedCell, oldSelectedCell, target);
       });
  +
  +    notifyPropertyChange(#selectedCell, null, selectedCell);
     }
   
     void _initEvents() {
  -    changes.listen((records) {
  -      records
  -        .where((r) => (r is PropertyChangeRecord) && (r.name == #selectedCell))
  -        .forEach((PropertyChangeRecord r) {
  -          String oldColor = (r.oldValue == null) ? null : r.oldValue.color;
  -          String newColor = (r.newValue == null) ? null : r.newValue.color;
  -          notifyPropertyChange(#color, oldColor, newColor);
  -          _colorChangeController.add(new ColorChangeEvent(r.oldValue, r.newValue));
  -        });
  -    });
  +    changes
  +      .expand((r) => r)
  +      .where((r) => (r is PropertyChangeRecord) && (r.name == #selectedCell))
  +      .forEach((PropertyChangeRecord r) {
  +        String oldColor = (r.oldValue == null) ? null : r.oldValue.color;
  +        String newColor = (r.newValue == null) ? null : r.newValue.color;
  +        notifyPropertyChange(#color, oldColor, newColor);
  +        _colorChangeController.add(new ColorChangeEvent(r.oldValue, r.newValue));
  +      });
     }
   }
   
   class ColorChangeEvent {
  -  ColorPaletteCellElement oldCell;
  -  ColorPaletteCellElement newCell;
  +  final ColorPaletteCellElement oldCell;
  +  final ColorPaletteCellElement newCell;
     String get oldColor => (oldCell == null) ? null : oldCell.color;
     String get newColor => (newCell == null) ? null : newCell.color;
     ColorChangeEvent(this.oldCell, this.newCell);
  
positive.code:     this.querySelectorAll('input').forEach(_initInput);
  
    void _initInput(InputElement e) {
      var attrs = e.attributes;
      if (!attrs.containsKey('type') || attrs['type'].isEmpty) e.type = 'radio';
      if (e.type != 'radio') return;
      if (_radioToPalleteCell.containsKey(e)) return;
  
negative.code: 
    @reflectable
    ColorPaletteCellElement get selectedCell =>
        cells.firstWhere((ColorPaletteCellElement e) => e.selected,
          orElse: () => null);
  
    @reflectable
    String get color {
      final c = selectedCell;
      return (c == null) ? null : c.color;
    }
  
  