anchor.diff:    final String author;
   
     Book(this.title, this.author);
  +}
  +
  +class AppState extends ChangeNotifier {
  +  List<Book> books = [
  +    Book('Stranger in a Strange Land', 'Robert A. Heinlein'),
  +    Book('Foundation', 'Isaac Asimov'),
  +    Book('Fahrenheit 451', 'Ray Bradbury'),
  +  ];
  +  String? _filter;
  +
  +  String? get filter => _filter;
  +
  +  set filter(String? filter) {
  +    _filter = filter;
  +    notifyListeners();
  +  }
   }
   
   class BooksApp extends StatefulWidget {
  
positive.code:         MaterialPage(
            key: ValueKey('BooksListPage'),
            child: BooksListScreen(
              books: books,
              filter: filter,
              onFilterChanged: (filter) {
                this.filter = filter;
                notifyListeners();
              },
            ),
          ),
  
negative.code:     with ChangeNotifier, PopNavigatorRouterDelegateMixin<BookRoutePath> {
    @override
    final GlobalKey<NavigatorState> navigatorKey;
    final AppState _appState;
  
    BookRouterDelegate()
        : navigatorKey = GlobalKey<NavigatorState>(),
          _appState = AppState() {
      _appState.addListener(() => notifyListeners());
    }
  
    @override
    BookRoutePath get currentConfiguration {
      return BookRoutePath(_appState.filter);
    }
  
    @override
  