anchor.diff:              setState(() {
                 _useLightTheme = value;
               });
  -          }),
  +          },
  +        timeDilation: _timeDilation,
  +        onTimeDilationChanged: (double value) {
  +          setState(() {
  +            _timeDilationTimer?.cancel();
  +            _timeDilationTimer = null;
  +            _timeDilation = value;
  +            if (_timeDilation > 1.0) {
  +              // We delay the time dilation change long enough that the user can see
  +              // that the checkbox in the drawer has started reacting, then we slam
  +              // on the brakes so that they see that the time is in fact now dilated.
  +              _timeDilationTimer = new Timer(const Duration(milliseconds: 150), () {
  +                timeDilation = _timeDilation;
  +              });
  +            } else {
  +              timeDilation = _timeDilation;
  +            }
  +          });
  +        },
  +      ),
       );
     }
   }
  
positive.code:     @required this.prismic,
      this.title,
      this.useLightTheme,
      @required this.onThemeChanged})
        : assert(prismic != null),
          assert(onThemeChanged != null),
          super(key: key);
  
    final Prismic prismic;
  
negative.code: 
  class _MyAppState extends State<MyApp> {
    bool _useLightTheme = true;
    double _timeDilation = 1.0;
    Timer _timeDilationTimer;
  
    @override
    void initState() {
      _timeDilation = timeDilation;
      super.initState();
    }
  
    @override
    void dispose() {
      _timeDilationTimer?.cancel();
      _timeDilationTimer = null;
      super.dispose();
    }
  
    @override
    Widget build(BuildContext context) {
  