anchor.diff:                     "..but it looks like we have a STARIUM shower inbound.." ]),
         new Dialog(Characters.BOSS,
                    [ "Don't get hit by them STARIUMs or you'll CRACK!!",
  -                   "But not to worry lads, I have a cunning plan..",
  +                   "Follow me lads, I have a cunning plan..",
                      "...",
                      "RUN!!" ])];
       return DialogWindow.Singleton
  
positive.code:   }
  
    _setupStariums() {
      new Timer.periodic(new Duration(seconds : 3), (_) => _spawnStarium());
  
      // every 8 seconds add another second that spawns a starium every 1-3 seconds
      new Timer.periodic(new Duration(seconds : 8), (_) {
        new Timer.periodic(new Duration(seconds : _random.nextInt(3) + 1), (_) => _spawnStarium());
      });
  
      // every 12 seconds speed up the stariums
      new Timer.periodic(new Duration(seconds : 12), (_) {
        _minStariumTime = max(1.0, _minStariumTime - 1.0);
        _maxStariumTime = max(2.0, _maxStariumTime - 1.0);
      });
  
      Starium.onDisposed.listen((starium) {
        _stariums.remove(starium);
  
negative.code:       setPosition(taotie, i, mousePos.x, mousePos.y);
        _taoties.add(taotie);
  
        var streamSub = StreamExt
                          .delay(mouseMove, new Duration(milliseconds : i * 100))
                          .listen((evt) => setPosition(taotie, i, evt.offset.x, evt.offset.y));
        _taotieStreams.add(streamSub);
      }
  
      Taotie.onHit.listen((HitEvent evt) {
        evt.starium.explode();
  
        removeChild(evt.taotie);
  
        if (evt.taotie.isBoss) {
          _gameOver();
        } else {
          // once the taotie object's removed, let's play the taotie break flipbook in its place to show
          // taotie breaking!
          var textureAtlas = _resourceManager.getTextureAtlas("${Characters.TAOTIE}_break_atlas");
  