 		NSNotificationCenter.defaultCenter().removeObserver(self)
 	}
 
-	func play(rate: Float = 1.0) {
+	private func play(rate: Float = 1.0) {
 
 		if let player = playControl {
 			switch player.status {

	override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {

		if keyPath == "status" {
			dispatch_async(dispatch_get_main_queue()) { self.play() }
		}
	}

	@objc func playbackReachedEndNotification(notification: NSNotification) {
		playControl?.seekToTime(kCMTimeZero)
		playControl?.play()
	}
}

		}
	}

	var rate: Float = 1.0 {
		didSet {
			play(rate)
		}
	}
	var loop: Bool = false

    override func viewDidLoad() {
        super.viewDidLoad()

