         self.postStateChange(newState: newState, oldState: self.currentState)
         self.currentState = newState
         
-        self.postEventUpdate(event: PlayerEvents.error())
+        self.postEvent(event: PlayerEvents.error())
     }
     
     public func playerPlayedToEnd(notification: NSNotification) {

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

        PKLog.trace("EventChanged::\(event)")

        if let currentEvent: PKEvent = event {
           self.postEvent(event: currentEvent)
        }
    }
    
    private func postEvent(event: PKEvent) {
        PKLog.trace("eventChange:: \(event)")
        guard let _ = delegate?.playerDid(updateEvent: event) else {
            PKLog.trace("event is not valid \(event)")
