anchor.diff:    }
   
     void _loadNote(Note note) {
  +    if(_currentNote != null) {
  +      throw new UnimplementedError('tbd');
  +    }
       assert(note.content is TextContent);
  +
  +    _currentNote = note;
   
       TextContent content = note.content;
   
  
positive.code: import 'dart:html';
  import 'package:polymer/polymer.dart';
  import 'package:nv/src/controllers.dart';
  import 'package:nv/src/models.dart';
  import 'package:nv/init.dart' as init;
  import 'package:nv/elements/interfaces.dart';
  
  @CustomTag('app-element')
  class AppElement extends PolymerElement with ChangeNotifierMixin {
    bool get applyAuthorStyles => true;
  
    AppController _controller;
  
    AppController get controller => _controller;
  
  
negative.code:     });
    }
  
    //
    // Overrides
    //
  
    @override
    void inserted() {
      assert(!_childEventsWired);
  
      // TODO: hold on to the subscription. Tear down at some point?
      filterPropertyChangeRecords(_editor, const Symbol('text'))
        .listen(_editorTextChanged);
  
      _childEventsWired = true;
    }
  
    //
    // Event handlers
    //
  
    void handleNoteClick(Event e, var detail, Element target) {
      e.preventDefault();
      _noteClick(target.dataset['noteTitle']);
    }
  
    //
    // Implementation
    //
  
    void _editorTextChanged(_) {
      var title = _currentNote.title;
      var noteContent = new TextContent(_editor.text);
      _controller.updateNote(title, noteContent);
    }
  
    void _noteClick(String noteTitle) {
  