anchor.diff:    Interactor interactor();
   }
   
  +abstract class PausableZone {
  +  factory PausableZone(Duration Function() parentOffset, {Zone parent}) =
  +      _PausableZone;
  +
  +  void pause();
  +  void resume();
  +  bool get isPaused;
  +  Duration get offset;
  +  Duration get parentOffset;
  +  R run<R>(R Function(Controller) f);
  +}
  +
   // TODO: Consider a "StoryZone" which aggregates all capabilities for stories
   //   another one that would be useful might be scaling times e.g 1 second is actually 2
   ///
  -class PausableZone {
  +class _PausableZone implements PausableZone {
     /// Timers which are currently running, so we can track what we need to pause.
     ///
     /// Timers are ordered by [_sequence], so we pause and resume cycles retain
  
positive.code: }
  
  class _PausablePeriodicTimer implements PausableTimer {
    final PausableZone _zone;
    final Timer Function(void Function() f) _createTimer;
    final int _sequence;
    final Duration _period;
  
negative.code:   /// Forked zone with pausable timers
    Zone _zone;
  
    _PausableZone(this._parentOffset, {Zone parent}) {
      parent = parent ?? Zone.current;
      _zone = parent.fork(
          specification: ZoneSpecification(
  