     public override func play() {
         player.play()
         currentState = .Playing
-        trigger(.Play)
+        
+        if !player.currentItem!.playbackLikelyToKeepUp {
+            trigger(.Buffering)
+        }
     }
     
     public override func pause() {

            default:
                break
            }
    }
    
    private func handleStatusChangedEvent() {

            options: .New, context: &kvoBufferingContext)
        player.addObserver(self, forKeyPath: "currentItem.playbackBufferEmpty",
            options: .New, context: &kvoBufferingContext)
        player.addObserver(self, forKeyPath: "rate",
            options: .New, context: &kvoPlayerContext)
        
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "playbackDidEnd",
            name: AVPlayerItemDidPlayToEndTimeNotification, object: player.currentItem)
