anchor.diff:  
         _editor.enabled = true;
         _editor.text = value;
  -
  -      if(notes.selectedValue == _searchFieldOpenItem) {
  -        _editor.focusText();
  -      }
  -      _searchFieldOpenItem = null;
       } else {
         _editor.enabled = false;
         // disabling editor should clear the next value
  
positive.code:   }
  
    void _selectedNoteChanged(PropertyChangeRecord record) {
      _log('_selectedNoteChanged');
  
      var notes = _controller.notes;
  
  
negative.code:     }
    }
  
    void _editor_enabledChanged(PropertyChangeRecord pcr) {
      if(_editor.enabled &&
          _controller.notes.selectedValue == _searchFieldOpenItem) {
        assert(_searchFieldOpenItem != null);
        _editor.focusText();
      }
      _searchFieldOpenItem = null;
    }
  
    //
    // Implementation
    //
  
    void _openSearchText() {
      _log('_openSearchText - ${controller.searchTerm}');
      // TODO: ponder a locking model to prevent weirdness while waiting for
      // async methods called no controller?
      controller.openOrCreate()
        .then((Note item) {
          if(_controller.notes.selectedValue == item && _editor.enabled) {
            _editor.focusText();
            _searchFieldOpenItem = null;
          } else {
  