anchor.diff:          assert(first.x == x);
           assert(first.y == y);
         }
  -      _drawPop(new dartlib.Coordinate(x, y), reveals);
  +      _startPopAnimation(new dartlib.Coordinate(x, y), reveals);
       } else if(game.state == GameState.lost) {
  -      _drawPop(new dartlib.Coordinate(x, y));
  +      _startPopAnimation(new dartlib.Coordinate(x, y));
       }
     }
   
  
positive.code:     }
    }
  
    void _addDartAnimation(dartlib.Coordinate point) {
      final squareOffset = _dartAnimationOffset +
          new dartlib.Vector(SquareElement._size * point.x, SquareElement._size * point.y);
  
      _dartAnimationLayer.add(new TextAniRequest('dart_fly_shadow', 56, squareOffset));
      _dartAnimationLayer.add(new TextAniRequest('dart_fly', 56, squareOffset));
    }
  
    void _squareClicked(ElementMouseEventArgs args) {
  
negative.code:     }
    }
  
    void _startPopAnimation(dartlib.Coordinate start, [Iterable<dartlib.Coordinate> reveals = null]) {
      if(reveals == null) {
        assert(game.state == GameState.lost);
        reveals = new dartlib.NumberEnumerable.fromRange(0, game.field.length)
  