title: screen not re-rendering after changing state
body: <p>I'm  just starting with Flutter, finished the <a href="https://flutter.io/get-started/codelab/" rel="nofollow noreferrer">first codelab</a> and tried to add some simple functionality to it.</p>
  
  <pre><code>import 'package:flutter/material.dart';
  import 'package:english_words/english_words.dart';
  
  void main() =&gt; runApp(new MyApp());
  
  class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return new MaterialApp(
        title: 'Startup Name Generator',
        theme: new ThemeData(primaryColor: Colors.deepOrange),
        home: new RandomWords(),
      );
    }
  }
  
  class RandomWords extends StatefulWidget {
    @override
    createState() =&gt; new RandomWordsState();
  }
  
  class RandomWordsState extends State&lt;RandomWords&gt; {
    final _suggestions = &lt;WordPair&gt;[];
  
    final _biggerFont = new TextStyle(fontSize: 18.0);
  
    final _saved = new Set&lt;WordPair&gt;();
  
    @override
    Widget build(BuildContext context) {
      return new Scaffold(
        appBar: new AppBar(
          title: new Text('Startup Name Generator'),
          actions: &lt;Widget&gt;[
            new IconButton(
              icon: new Icon(Icons.list),
              onPressed: _pushSaved,
            )
          ],
        ),
        body: _buildSuggestions(),
      );
    }
  
    Widget _buildSuggestions() {
      return new ListView.builder(
        padding: const EdgeInsets.all(16.0),
        itemBuilder: (context, i) {
          if (i.isOdd) return new Divider();
  
          final index = i ~/ 2;
          if (index &gt;= _suggestions.length) {
            _suggestions.addAll(generateWordPairs().take(10));
          }
          return _buildRow(_suggestions[index]);
        },
      );
    }
  
    Widget _buildRow(WordPair pair) {
      final alreadySaved = _saved.contains(pair);
      return new ListTile(
          title: new Text(
            pair.asPascalCase,
            style: _biggerFont,
          ),
          trailing: new IconButton(
            icon: new Icon(alreadySaved ? Icons.favorite : Icons.favorite_border),
            color: alreadySaved ? Colors.red : null,
            onPressed: () {
              setState(() {
                if (alreadySaved) {
                  _saved.remove(pair);
                } else {
                  _saved.add(pair);
                }
              });
            },
          ));
    }
  
    void _pushSaved() {
      Navigator.of(context).push(
        new MaterialPageRoute(
          builder: (context) {
            final tiles = _saved.map(
              (pair) {
                return _buildRow(pair);
  
                // new ListTile(
                //   title: new Text(
                //     pair.asPascalCase,
                //     style: _biggerFont,
                //   ),
                // );
              },
            );
            final divided = ListTile
                .divideTiles(
                  context: context,
                  tiles: tiles,
                )
                .toList();
  
            return new Scaffold(
              appBar: new AppBar(
                title: new Text('Saved Suggestions'),
              ),
              body: new ListView(children: divided),
            );
          },
        ),
      );
    }
  }
  </code></pre>
  
  <p>In the Save suggestions screen I built the same row as in the Sugestions Screen.</p>
  
  <p>In the Saved Sugstions screen when you click the heart icon the element is removed from the array of saved items but the screen is not re-rendered.</p>
  
  <p>what am I doing wrong here?</p>
  
  <p>thanks!</p>