anchor.diff:  
     Widget buildTabView(_Page page) =>
         new Container(
  -          key: new ValueKey<String>(page.displayWhenEmpty),
  +          key: new ValueKey<String>(page.tabLabel),
             color: _background,
             padding: const EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 32.0),
  -          child: page.childWight
  -      );
  +          child: page.childWight);
   
     _changeUserName() {
       var dialog = new SimpleDialog(
  
positive.code:           showDialog(context: context, child: new RefreshProgressDialog(
                CodeWarsColors.black.shade100, width: 100, height: 100));
            get(CodeWarsAPI.getUser(_usernameEditingController.text))
                .then((val) {
              setState(() {
                var json = new JsonDecoder(null).convert(val.body);
                _user.username = json['username'];
                _user.name = json['name'];
                _user.honor = json['honor'];
                _user.leaderboardPosition = json['leaderboardPosition'];
                _user.skills = json['skills'];
                if (null == _user.skills || _user.skills.isEmpty) {
                  _user.skills = const[" no skills found "];
                }
              });
              Navigator.pop(context);
            });
          }, child: new Text("OK")),
        ], title: new Text("Reset your username"),);
      showDialog(context: context, child: dialog);
  
negative.code:   Widget get childWight =>
        child ?? new Card(
            color: CodeWarsColors.black.shade300,
            child: new Center(child: new Text(displayWhenEmpty,
                style: new TextStyle(color: labelColor, fontSize: 32.0),
                textAlign: TextAlign.center)));
  }
  
  class TabsFabDemo extends StatefulWidget {
  