             NotificationCenter.default.removeObserver(self, name: NSNotification.Name.AVPlayerItemFailedToPlayToEndTime, object: currentPlayerItem)
         }
 
-        self.playerItem = playerItem
-
-        if let updatedPlayerItem = self.playerItem {
+        self._playerItem = playerItem
+
+        if let updatedPlayerItem = self._playerItem {
             updatedPlayerItem.addObserver(self, forKeyPath: PlayerEmptyBufferKey, options: ([.new, .old]), context: &PlayerItemObserverContext)
             updatedPlayerItem.addObserver(self, forKeyPath: PlayerKeepUpKey, options: ([.new, .old]), context: &PlayerItemObserverContext)
             updatedPlayerItem.addObserver(self, forKeyPath: PlayerStatusKey, options: ([.new, .old]), context: &PlayerItemObserverContext)


    public var layerBackgroundColor: UIColor? {
        get {
            guard let backgroundColor = self.playerView.playerLayer.backgroundColor else { return nil }
            return UIColor(cgColor: backgroundColor)
        }
        set {
            self.playerView.playerLayer.backgroundColor = newValue?.cgColor
        }
    }
    
    // MARK: - private instance vars
    
    internal var asset: AVAsset!
    internal var avplayer: AVPlayer
    internal var playerItem: AVPlayerItem?
    internal var playerView: PlayerView!
    internal var timeObserver: Any!
    
    // MARK: - object lifecycle


    
}

// MARK: - PlayerView

internal class PlayerView: UIView {
