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: // 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 'package:august/august.dart';
  import 'package:august/options.dart';
  import 'package:august/scenes.dart';
  import 'package:august/dialog.dart';
  import 'package:august/prompts.dart';
  import 'package:august/ui/html/html_persistence.dart';
  import 'package:august/ui/html/html_ui.dart';
  import 'package:rxdart/rxdart.dart';
  
  import 'dart:html';
  
  import 'package:pedantic/pedantic.dart';
  
  // Instantiate modules top level for easy accessibility from script methods
  final story = Story();
  
negative.code: void attackDragon(Scene dragonStandoff, Sword sword) async {
    await scenes.oneTime().enter();
  
    dialog.narrate('The dragon readies its flame...');
  
    await delay(seconds: 1);
  
    var deflectWithSword = options.oneTime('Deflect the fire with your sword.');
    var deflectWithShield = options.oneTime('Deflect the fire with your shield.');
    var dash = options.oneTime('Dash toward the dragon.');
  
    deflectWithSword.onUse.when(() async {
      dialog.narrate('You survive, but your sword has melted!',
  