 private let PlayerPlayableKey = "playable"
 private let PlayerDurationKey = "duration"
 private let PlayerRateKey = "rate"
+private let PlayerTimeControlStatusKey = "timeControlStatus"
 
 // KVO player item keys
 

            strongSelf.playbackDelegate?.playerCurrentTimeDidChange(strongSelf)
        })
        self._avplayer.addObserver(self, forKeyPath: PlayerRateKey, options: [.new, .old], context: &PlayerObserverContext)
    }

    internal func removePlayerObservers() {

                    self.playerDelegate?.playerReady(self)
                }
            }

        } else if context == &PlayerObserverContext {
            if keyPath == PlayerTimeControlStatusKey {
                if let rawNewValue = change?[.newKey] as? Int, let newStatus = AVPlayerTimeControlStatus(rawValue: rawNewValue) {
                    if newStatus == .paused {
                        self.playbackState = .paused
                    } else if newStatus == .playing {
                        self.playbackState = .playing
                    }
                }
            }
        }

    }
