anchor.diff:      }
     }
   
  -  Widget generateBoard() {
  +  Widget buildBoard() {
       bool hasCoveredCell = false;
       List<Flex> flexRows = new List<Flex>();
       for (int iy = 0; iy != 9; iy++) {
  
positive.code:         key: 'flxv'));
    }
  
    Widget generateUI() {
      Widget board = generateBoard();
      String banner = hasWon ?
        'Awesome!!' : alive ?
          'Mine Digger [$detectedCount-$totalMineCount]': 'Kaboom! [press here]';
  
      return new Flex([
        new Container(
          padding: new EdgeDims.all(10.0),
          margin: new EdgeDims.all(10.0),
          decoration: new BoxDecoration(backgroundColor: const Color(0xFFC0C0C0)),
          child: new Listener(
            onPointerDown: handleBannerPointerDown,
            child: new Text(banner))),
        board,
        new Container(
          height: 100.0, width: 100.0,
          decoration: new BoxDecoration(backgroundColor: const Color(0xFFCC1111))
        )
      ],
      direction: FlexDirection.vertical,
      justifyContent: FlexJustifyContent.spaceAround);
    }
  
    void handleBannerPointerDown(sky.PointerEvent event) {
  
negative.code: 
  import 'package:sky/rendering/flex.dart';
  import 'package:sky/widgets/basic.dart';
  import 'package:sky/widgets/scaffold.dart';
  import 'package:sky/widgets/tool_bar.dart';
  import 'package:sky/widgets/theme.dart';
  import 'package:sky/theme/colors.dart' as colors;
  import 'package:sky/painting/text_style.dart';
  
  // Classic minesweeper-inspired game. The mouse controls are standard except
  // for left + right combo which is not implemented. For touch, the duration of
  // the pointer determines probing versus flagging.
  //
  // There are only 3 classes to understand. Game, which is contains all the
  // logic and two UI classes: CoveredMineNode and ExposedMineNode, none of them
  // holding state.
  
  