anchor.diff:      final PostItem item = _postItemForMessage(message);
       // Clear away dialogs
       Navigator.popUntil(context, (Route<dynamic> route) => route is PageRoute);
  +    FavoriteModel model;
  +    for (FavoriteModel favorite in favoriteList) {
  +      if (favorite.urlPath == (item.urlPath)) {
  +        model = favorite;
  +        break;
  +      }
  +    }
  +    if (model == null) {
  +      model = new FavoriteModel(null, item.title, item.urlPath);
  +    }
       Navigator.push(
           context,
           new MaterialPageRoute(
  -          builder: (context) => new PostPage(item.urlPath),
  +          builder: (context) => new PostPage(model, favoriteList,
  +              _handleFavoriteAdded, _handleFavoriteRemoved),
           ));
     }
   
     PostItem _postItemForMessage(Map<String, dynamic> message) {
  +    final String title = message['title'];
       final String urlPath = Uri.parse(message['url']).path;
  -    return new PostItem(urlPath: urlPath);
  +    return new PostItem(title: title, urlPath: urlPath);
     }
   
     void _showPostItemDialog(Map<String, dynamic> message) {
  
positive.code: 
    Widget _buildDialog(BuildContext context, PostItem item) {
      return new AlertDialog(
        content: new Text("New Run Available!"),
        actions: <Widget>[
          new FlatButton(
            child: const Text('CLOSE'),
  
negative.code:         Navigator.push(
              context,
              new MaterialPageRoute(
                builder: (context) => new PostPage(model, widget.favoriteList,
                    widget.onFavoriteAdded, widget.onFavoriteRemoved),
              ));
        },
      );
  