         if self.rate != 1.0 {
             PKLog.trace("play player")
             
-            self.postEventUpdate(event: PlayerEvents.play())
+            self.postEvent(event: PlayerEvents.play())
             super.play()
         }
     }

        self.postStateChange(newState: newState, oldState: self.currentState)
        self.currentState = newState
        
        self.postEventUpdate(event: PlayerEvents.ended())
    }
    
    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {

    
    private func postStateChange(newState: PlayerState, oldState: PlayerState) {
        PKLog.trace("stateChanged:: new:\(newState) old:\(oldState)")
        let stateChangedEvent: PKEvent = PlayerEvents.stateChanged(newState: newState, oldState: oldState)
        
        self.postEvent(event: stateChangedEvent)
    }
    
    private func updateNonObservableProperties() {
        if let timebaseRate: Float64 = CMTimebaseGetRate(self.currentItem!.timebase!){
            if timebaseRate == 1.0 {
                self.postEvent(event: PlayerEvents.playing())
                nonObservablePropertiesUpdateTimer.suspend()
            }
            
