anchor.diff:  
         String texturePrefix = ss==SquareState.bomb?'balloon_explode':'balloon_pop';
   
  -      FlipBook anim = new FlipBook(_animations.getBitmapDatas(texturePrefix), stage.frameRate, false);
  -      anim
  +      var anim = new FlipBook(_animations.getBitmapDatas(texturePrefix), stage.frameRate, false)
             ..x = squareOffset.x
             ..y = squareOffset.y
             ..alpha = 0
             ..mouseEnabled = false
  -          ..onComplete.listen((e) => anim.removeFromParent())
             ..addTo(_popLayer);
  +
  +      anim.onComplete.listen((e) => anim.removeFromParent());
   
         stage.juggler
             ..add(anim)
  -          ..delayCall(() {
  -            anim
  -                ..alpha = 1
  -                ..play();
  -            se.updateState();
  -            switch (ss) {
  -              case SquareState.revealed:
  -              case SquareState.hidden:
  -                GameAudio.pop();
  -                break;
  -              case SquareState.bomb:
  -                GameAudio.bomb();
  -                break;
  -            }
  -          }, delay / stage.frameRate);
  +          ..delayCall(() => _animationDelay(anim, se, ss), delay / stage.frameRate);
       }
     }
   
  
positive.code:       var squareOffset = _dartAnimationOffset +
            new Vector(SquareElement.SIZE * point.x, SquareElement.SIZE * point.y);
  
        FlipBook dart = new FlipBook(_animations.getBitmapDatas('dart'), stage.frameRate, false);
        dart
            ..x = squareOffset.x
            ..y = squareOffset.y
            ..mouseEnabled = false
            ..play()
            ..onComplete.listen((e) => dart.removeFromParent())
            ..addTo(_dartLayer);
  
        FlipBook shadow = new FlipBook(_animations.getBitmapDatas('shadow'), stage.frameRate, false);
        shadow
            ..x = squareOffset.x
            ..y = squareOffset.y
            ..mouseEnabled = false
            ..play()
            ..onComplete.listen((e) => shadow.removeFromParent())
            ..addTo(_dartLayer);
  
        stage.juggler
            ..add(dart)
  
negative.code: import 'package:bot/bot.dart';
  import 'package:stagexl/stagexl.dart' hide Vector;
  
  import '../audio.dart';
  import '../game.dart';
  
  import 'board_element.dart';
  import 'game_background_element.dart';
  import 'game_root.dart';
  import 'score_element.dart';
  