anchor.diff:      );
     }
   
  -  Widget buildMain() {
  -    return new Scaffold(
  -      toolbar: buildToolBar(),
  -      body: buildBody(),
  -      floatingActionButton: buildFloatingActionButton()
  -    );
  +  bool showDialog = false;
  +
  +  Widget buildMain(Navigator navigator) {
  +    List<Widget> layers = [
  +      new Focus(
  +        initialFocus: nameKey,
  +        child: new Scaffold(
  +          toolbar: buildToolBar(navigator),
  +          body: buildBody(navigator),
  +          floatingActionButton: buildFloatingActionButton(navigator)
  +        )
  +      )
  +    ];
  +    if (showDialog) {
  +      layers.add(new Focus(
  +        initialFocus: fillKey,
  +        child: new Dialog(
  +          title: new Text("Describe your picture"),
  +          content: new ScrollableBlock([
  +            new Field(inputKey: fillKey, icon: "editor/format_color_fill", placeholder: "Color"),
  +            new Field(inputKey: emoticonKey, icon: "editor/insert_emoticon", placeholder: "Emotion"),
  +          ]),
  +          onDismiss: navigator.pop,
  +          actions: [
  +            new FlatButton(
  +              child: new Text('DISCARD'),
  +              onPressed: () {
  +                navigator.pop();
  +              }
  +            ),
  +            new FlatButton(
  +              child: new Text('SAVE'),
  +              onPressed: () {
  +                navigator.pop();
  +              }
  +            ),
  +          ]
  +        )
  +      ));
  +    }
  +    return new Stack(layers);
  +  }
  +
  +  NavigationState _navigationState;
  +
  +  void initState() {
  +    _navigationState = new NavigationState([
  +      new Route(
  +        name: '/',
  +        builder: (navigator, route) => buildMain(navigator)
  +      ),
  +    ]);
  +    super.initState();
     }
   
     Widget build() {
  
positive.code: 
  class AddressBookApp extends App {
  
    Widget buildToolBar() {
      return new ToolBar(
          left: new IconButton(icon: "navigation/arrow_back"),
          right: [new IconButton(icon: "navigation/check")]
        );
    }
  
    Widget buildFloatingActionButton() {
      return new FloatingActionButton(
        child: new Icon(type: 'image/photo_camera', size: 24),
        backgroundColor: Theme.of(this).accentColor
      );
    }
  
  
negative.code:   static final GlobalKey addressKey = new GlobalKey();
    static final GlobalKey ringtoneKey = new GlobalKey();
    static final GlobalKey noteKey = new GlobalKey();
    static final GlobalKey fillKey = new GlobalKey();
    static final GlobalKey emoticonKey = new GlobalKey();
  
    Widget buildBody(Navigator navigator) {
      return new Material(
        child: new ScrollableBlock([
          new AspectRatio(
  