anchor.diff:  
   import 'package:august/august.dart';
   
  -class Dialogs {
  -  final _dialogs = new StreamController<Dialog>.broadcast(sync: true);
  +class Dialog {
  +  final _dialogs = new StreamController<Speech>.broadcast(sync: true);
   
     // TODO: figure out defaults
  -  Dialog narrate(String markup, {Scope scope}) {
  -    var narration = new Dialog(markup, scope, '', '');
  +  Speech narrate(String markup, {Scope scope}) {
  +    var narration = new Speech(markup, scope, '', '');
       narration._scope.onEnter.listen((_) => _dialogs.add(narration));
       return narration;
     }
   
     // TODO: figure out default
  -  Dialog add(String markup,
  +  Speech add(String markup,
         {String speaker: '', String target: '', Scope scope}) {
  -    var dialog = new Dialog(markup, scope, speaker, target);
  +    var dialog = new Speech(markup, scope, speaker, target);
       dialog._scope.onEnter.listen((_) => _dialogs.add(dialog));
       return dialog;
     }
   
     Voice voice({String name: ''}) => new Voice(name, this);
   
  -  Stream<Dialog> get _onAddDialog => _dialogs.stream;
  +  Stream<Speech> get _onAddDialog => _dialogs.stream;
   }
   
   class Voice {
     String name;
   
  -  final Dialogs _dialogs;
  +  final Dialog _dialogs;
   
     Voice(this.name, this._dialogs);
   
  -  Dialog say(String markup, {String target, Scope scope}) =>
  +  Speech say(String markup, {String target, Scope scope}) =>
         _dialogs.add(markup, speaker: name, target: target, scope: scope);
   }
   
  -class Dialog {
  +class Speech {
     final String _markup;
     final Scope _scope;
     final String _speaker;
  
positive.code:     return reply;
    }
  
    Stream<Dialog> get _onRemove => _scope.onExit.map((_) => this);
    Stream<Reply> get _onReplyAvailable => _replies.stream;
  }
  
  class Reply {
    final Dialog dialog;
    final String _markup;
    final _uses = new StreamController.broadcast(sync: true);
  
  
negative.code: 
    final _replies = new StreamController<Reply>.broadcast(sync: true);
  
    Speech(this._markup, this._scope, this._speaker, this._target);
  
    Reply addReply(String markup, {Scope scope: const Always()}) {
      var reply = new Reply(this, markup, scope);
  