     func bindPlaybackEvents() {
         if let playback = activePlayback {
             listenTo(playback, eventName: Event.didPause.rawValue) { [weak self] _ in self?.onPause() }
+            listenTo(playback, eventName: Event.didStop.rawValue) { [weak self] _ in self?.onPause() }
             listenTo(playback, eventName: Event.playing.rawValue) { [weak self] _ in self?.onPlay() }
             listenTo(playback, eventName: Event.stalling.rawValue) { [weak self] _ in self?.hide() }
         }

        activePlayback?.play()
    }
    
    public func changeIcon() {
        guard let playback = activePlayback else { return }

        if playback.state == .paused {
            button.setImage(playIcon, for: .normal)
        } else if playback.state == .playing {
            button.setImage(pauseIcon, for: .normal)
        }
    }
}


    open func onPlay() {
        show()
        changeToPauseIcon()
    }

    private func onPause() {
        show()
        changeToPlayIcon()
    }

    public func hide() {
