anchor.diff:  
   /// Implemented by recorders that use [_RecordingWidgetsBinding] to receive
   /// frame life-cycle calls.
  -abstract class RecordingWidgetsBindingListener {
  -  /// The profile where the benchmark is collecting metrics.
  -  Profile profile;
  +abstract class FrameRecorder {
  +  /// Called by the recorder when it stops recording and doesn't need to collect
  +  /// any more data.
  +  set didStop(VoidCallback cb);
   
     /// Called just before calling [SchedulerBinding.handleDrawFrame].
     void frameWillDraw();
  
positive.code:   Widget createWidget();
  
    @override
    Profile profile;
  
    final Completer<Profile> _profileCompleter = Completer<Profile>();
  
    Stopwatch _drawFrameStopwatch;
  
  
negative.code: ///   }
  /// }
  /// ```
  abstract class WidgetRecorder extends Recorder implements FrameRecorder {
    WidgetRecorder({@required String name}) : super._(name);
  
    /// Creates a widget to be benchmarked.
  