             self.postStateChange(newState: newState, oldState: self.currentState)
             self.currentState = newState
         }
-
+        
         if let currentEvent: PKEvent = event {
            self.postEvent(event: currentEvent)
         }

        } else if keyPath == #keyPath(currentItem.status) {
            if currentItem?.status == .readyToPlay {
                self.setupNonObservablePropertiesUpdateTimer()
                
                let newState = PlayerState.ready
                self.postEvent(event: PlayerEvents.loadedMetadata())
                self.postStateChange(newState: newState, oldState: self.currentState)

        #keyPath(currentItem),
        #keyPath(currentItem.playbackLikelyToKeepUp),
        #keyPath(currentItem.playbackBufferEmpty),
        #keyPath(currentItem.duration),
        #keyPath(currentItem.tracks)
    ]
    
    private var observerContext = 0
