     
     public var playbackLoops: Bool! {
         get {
-            return (self.player?.actionAtItemEnd == .None) as Bool
+            return (self.player.actionAtItemEnd == .None) as Bool
         }
         set {
             if newValue.boolValue {
-                self.player?.actionAtItemEnd = .None
+                self.player.actionAtItemEnd = .None
             } else {
-                self.player?.actionAtItemEnd = .Pause
+                self.player.actionAtItemEnd = .Pause
             }
         }
     }

    // MARK: NSNotifications
    
    public func playerItemDidPlayToEndTime(aNotification: NSNotification) {
        if self.playbackLoops.boolValue || self.playbackFreezesAtEnd.boolValue {
            self.player.seekToTime(kCMTimeZero)
        }
    }
    

    // MARK: view lifecycle
    
    public override func loadView() {
        self.playerView = PlayerView(frame: CGRectZero)
        self.playerView.fillMode = AVLayerVideoGravityResizeAspect
        self.playerView.playerLayer.hidden = true
