anchor.diff:        if (moduleDef is HasInterface) {
           var handler = moduleDef.createInterfaceHandler(module);
           var interface = moduleDef.createInterface(module, (action, args) {
  +          // Could put logic here to check if this module is allowed to be
  +          // interacted with from user interface currently.
             var event = new InterfaceEvent(
                 moduleDef.runtimeType, action, args, run.currentPlayTime());
             persistence.saveEvent(event);
  
positive.code: /// to that module which a UI can use to interact with the current [Run].
  typedef dynamic CreateUi(Map interfaces);
  
  class Run {
    StreamController<dynamic> _ctrl =
        new StreamController<dynamic>.broadcast(sync: true);
    GetCurrentPlayTime _currentPlayTime;
  
    Run(this._currentPlayTime) {
      every((e) => true).listen((e) => print("${currentPlayTime()}: ${e}"));
    }
  
    Future emit(dynamic event,
  
negative.code:       });
        ff.fastForward(persistence.savedEvents.last.offset);
      });
  
      ff.switchToParentZone();
    } else {
      var startTime = clock.now();
      var cpt = () => clock.now().difference(startTime);
  
      run = new Run._(cpt);
      scriptModules = new ScriptModules(script.modules, run, persistence);
  
      script.block(run, scriptModules.modules);
    }
  
  