     internal var _avplayer: AVPlayer = AVPlayer()
     internal var _playerItem: AVPlayerItem?
     
+    internal var _playerObservers = [NSKeyValueObservation]()
     internal var _playerItemObservers = [NSKeyValueObservation]()
     internal var _playerLayerObserver: NSKeyValueObservation?
     internal var _playerTimeObserver: Any?


// MARK: - KVO

// KVO contexts

private var PlayerObserverContext = 0

// KVO player keys

private let PlayerTimeControlStatusKey = "timeControlStatus"

extension Player {

    // MARK: - AVPlayerItemObservers

        })
        
        if #available(iOS 10.0, tvOS 10.0, *) {
            self._playerObservers.append(self._avplayer.observe(\.timeControlStatus, options: [.new, .old]) { (object, change) in
                switch object.timeControlStatus {
                case .paused:
                    self.playbackState = .paused
                case .playing:
                    self.playbackState = .playing
                default:
                    break
                }
            })
        }
        
    }

    internal func removePlayerObservers() {
        if let observer = self._playerTimeObserver {
            self._avplayer.removeTimeObserver(observer)
        }
        for observer in self._playerObservers {
            observer.invalidate()
        }
        self._playerObservers.removeAll()
    }

}
