 
     private func removeObservers() {
         guard let player = player, player.observationInfo != nil else { return }
-        player.removeObserver(self, forKeyPath: "currentItem.status")
         player.removeObserver(self, forKeyPath: "currentItem.loadedTimeRanges")
         player.removeObserver(self, forKeyPath: "currentItem.seekableTimeRanges")
         player.removeObserver(self, forKeyPath: "currentItem.playbackLikelyToKeepUp")

        guard let context = context else { return }

        switch context {
        case &kvoStatusDidChangeContext:
            handleStatusChangedEvent()
        case &kvoLoadedTimeRangesContext:
            handleLoadedTimeRangesEvent()
        case &kvoSeekableTimeRangesContext:

        trigger(.didUpdateAirPlayStatus, userInfo: ["externalPlaybackActive": isExternalPlaybackActive])
    }

    private func handleLoadedTimeRangesEvent() {
        guard let timeRange = player?.currentItem?.loadedTimeRanges.first?.timeRangeValue else { return }
        let info = [
