anchor.diff:    String toString() => '$_heroes';
   }
   
  +/// A [Navigator] observer that manages [Hero] transitions.
  +///
  +/// An instance of [HeroController] should be used as the [Navigator.observer].
  +/// This is done automatically by [MaterialApp].
   class HeroController extends NavigatorObserver {
  +  /// Creates a hero controller with the given [RectTween] constructor if any.
  +  ///
  +  /// The [createRectTween] argument is optional. By default, a linear
  +  /// [RectTween] is used.
     HeroController({ CreateRectTween createRectTween }) {
       _party = new _HeroParty(
         onQuestFinished: _handleQuestFinished,
  
positive.code:   final Object tag;
  }
  
  typedef RectTween CreateRectTween(Rect begin, Rect end);
  
  class _HeroParty {
  
negative.code: import 'pages.dart';
  import 'transitions.dart';
  
  // TODO(ianh): Make the appear/disappear animations pretty. Right now they're
  // pretty crude (just rotate and shrink the constraints). They should probably
  // involve actually scaling and fading, at a minimum.
  
  // TODO(ianh): If the widgets use Inherited properties, they are taken from the
  // Navigator's position in the widget hierarchy, not the source or target. We
  