anchor.diff:        index -= _elements.length;
       }
   
  -    assert(index == 0);
  -    return _animationLayer;
  +    switch(index) {
  +      case 0:
  +        return _popAnimationLayer;
  +      case 1:
  +        return _dartAnimationLayer;
  +      default:
  +        throw 'oops';
  +    }
     }
   
     void drawOverride(CanvasRenderingContext2D ctx) {
  
positive.code:         _toggleFlag(x, y);
        } else if(ss == SquareState.revealed) {
          if(game.canReveal(x, y)) {
            reveals = game.reveal(x, y);
          }
        }
      } else {
        if(ss == SquareState.hidden) {
          reveals = game.reveal(x, y);
        }
      }
  
negative.code:       final squareOffset = _popExplodeAnimationOffset +
            new dartlib.Vector(SquareElement._size * c.x, SquareElement._size * c.y);
  
        final delay = _popAnimationHitFrame + ((c - start).length * 4).toInt();
  
        final ss = game.getSquareState(start.x, start.y);
  
  