anchor.diff:          return Row(
             mainAxisAlignment: MainAxisAlignment.center,
             children: [
  -            _previousButton(foregroundColor), // TODO grey out when cannot skip previous
  +            _previousButton(foregroundColor),
               if (playing) _pauseButton(foregroundColor) else _playButton(foregroundColor),
  -            _nextButton(foregroundColor), // TODO grey out when cannot skip next
  +            _nextButton(foregroundColor),
             ],
           );
         },
  
positive.code: 
  IconButton _nextButton(Color color) => IconButton(
        icon: Icon(Icons.skip_next),
        onPressed: getIt<AudioPlayer>().seekToNext,
        iconSize: 24.0,
        color: color,
      );
  
negative.code:       builder: (context, snapshot) {
          final MediaItem? mediaItem = snapshot.data?.currentSource?.tag as MediaItem?;
          if (mediaItem == null) {
            return Container(); // TODO animate the whole thing in/out
          }
          return SizedBox(
            height: 64,
  