     
     weak public var delegate: PlayerDelegate?
     
-    public var state: PlayerState = .Ready
+    public private(set) var state: PlayerState = .Ready
     {
         didSet
         {

        return self.player.currentItem?.duration.timeInterval ?? 0
    }
    
    public var time: NSTimeInterval = 0
    {
        didSet
        {

import AVFoundation
import AVKit

/// A RegularPlayer can be used to play regular videos.
public class RegularPlayer: NSObject, Player, ProvidesView
{
    private struct Constants
