anchor.diff:    // Need a persistence strategy
     var persistence = NoPersistence();
   
  -  var modules = {
  -    Options: options,
  -    Dialog: dialog
  -  };
  +  var modules = {Options: options, Dialog: dialog};
     var events = Rx.merge([options.events, dialog.events]).asBroadcastStream();
   
     // Present the user interface(s) with HTML
     SimpleHtmlUi.install(querySelector('#example'), events)
         .actions
         .listen((action) {
  -        // TODO: intercept and save actions for replay
  -        action.run(modules[action.module]);
  +    // TODO: intercept and save actions for replay
  +    action.run(modules[action.module]);
     });
   
     // TODO run so saved actions are replayed
  
positive.code:   var dragonStandoff = await scenes.reentrant().enter();
    var sword = Sword();
  
    dialog.narrate('Something appears in the shadows...');
  
    await delay(seconds: 1);
  
    var attack = options.oneTime('Engage your curiosity and wait');
    var runAway = options.limitedUse('Run away', exclusiveWith: attack.uses);
  
    attack.onUse.when(() {
      attackDragon(dragonStandoff, sword);
  
negative.code: // Copyright (c) 2015, Alec Henninger. All rights reserved. Use of this source code
  // is governed by a BSD-style license that can be found in the LICENSE file.
  
  import 'dart:html';
  
  import 'package:august/august.dart';
  import 'package:august/dialog.dart';
  import 'package:august/options.dart';
  import 'package:august/prompts.dart';
  import 'package:august/scenes.dart';
  import 'package:august/ui/html/html_ui.dart';
  import 'package:rxdart/rxdart.dart';
  
  // Instantiate modules top level for easy accessibility from script methods
  final story = Story();
  