anchor.diff:    videoStreamList.forEach((stream) => 
         videoControlBar.bind('progress', new PathObserver(stream, 'progress'))
     );
  +  this.bind('progress', new PathObserver(videoControlBar, 'progress'));
     videoControlBar.bind('buffered', new PathObserver(videoStreamList[0], 'buffered'));
     videoControlBar.progress = progress;
     
  
positive.code:   videoStreamList.forEach((stream) => 
      stream.bind('speed', new PathObserver(videoControlBar, 'speed'))
    );
    videoControlBar.speed = speed;
    
    //Volume
    videoStreamList.forEach((stream) => 
      stream.bind('volume', new PathObserver(videoControlBar, 'volume'))
    );
    videoControlBar.volume = volume; 
    
    //Subtitles
    videoStreamList.forEach((stream) => 
      stream.bind('showSubtitles', new PathObserver(videoControlBar, 'showSubtitles'))
    );
    videoControlBar.showSubtitles = showSubtitles;
    videoStreamList.forEach((stream) => 
      showSubtitlesButton = (showSubtitlesButton || (stream.subtitles != null))
  
negative.code:   
    //published attributes
    @published bool autoplay = false;
    @PublishedProperty(reflect: true) int progress = 0;
    @published int duration = 1;
    @PublishedProperty(reflect: true) double speed = 1.0;
    @published String quality = "sd";
    @PublishedProperty(reflect: true) int volume = 80;
    @PublishedProperty(reflect: true) bool showSubtitles = false;
    
    @observable bool isPlaying = false;
    @observable bool isFullscreen = false;
  