     private func handleStatusChange() -> PKEvent? {
         var event: PKEvent? = nil
         
-        if currentItem?.status == .readyToPlay {
-            self.setupNonObservablePropertiesUpdateTimer()
-            
+        if currentItem?.status == .readyToPlay {           
             let newState = PlayerState.ready
             self.postEvent(event: PlayerEvents.loadedMetadata())
             

    
    // Attempt load and test these asset keys before playing.
    let assetKeysRequiredToPlay = [
        "playable", 
        "tracks",
        "hasProtectedContent",
    ]
    
    private var avPlayerLayer: AVPlayerLayer!
    

    private var tracksManager = TracksManager()
    
    //  AVPlayerItem.currentTime() and the AVPlayerItem.timebase's rate are not KVO observable. We check their values regularly using this timer.
    private var nonObservablePropertiesUpdateTimer: Timer?
    
    public var onEventBlock: ((PKEvent)->Void)?
    
