anchor.diff:  class GameFactory {
     String playerOne, playerTwo;
     GameFactory(this.playerOne, this.playerTwo);
  +  void start() { print(this); }
     String toString() => "*** $playerOne vs. $playerTwo ***";
   
     // The factory method
  
positive.code: 
  main() {
    var series = new GameFactory('Professor Falken', 'Joshua');
    print(series);
  
    var game;
    game = series.createBoardGame('Checkers');
    print(game);
  
    game = series.createBoardGame('Thermo Nuclear War');
    print(game);
  
    game = series.createBoardGame();
    print(game);
  }
  
negative.code: class BoardGame {
    List playerOnePieces = [];
    List playerTwoPieces = [];
    void play() { print(this); }
    String get winner => new Random().nextBool() ? "Player One" : "Player Two";
    String toString() =>
      "  ${this.runtimeType}\n"
      "    Player One starts with: ${playerOnePieces.join(', ')}\n"
      "    Player Two starts with: ${playerTwoPieces.join(', ')}\n"
      "    --\n"
      "    Winner: $winner\n";
  }
  
  