 
     // MARK: KVO
     
-    fileprivate func addObserversIfNecessary()
+    private func addObserversIfNecessary()
     {
         if let descriptor = self.descriptor, self.observersAdded == false
         {

        }
    }
    
    fileprivate func setupStatusLabel(video: VIMVideo)
    {
        self.statusLabel.text = video.status
    }

    // MARK: Descriptor Setup

    fileprivate func updateProgress(_ progress: Double)
    {
        let width = self.contentView.frame.size.width
        let constant = CGFloat(1 - progress) * width
        self.progressConstraint.constant = constant
    }

    fileprivate func updateState(_ state: DescriptorState)
    {
        switch state
        {


    // MARK: 
    
    private static let ProgressKeyPath = "progressObservable"
    private static let StateKeyPath = "stateObservable"
    private var progressKVOContext = UInt8()
    private var stateKVOContext = UInt8()
    
    private var observersAdded = false

    private var descriptor: UploadDescriptor?
    {
        willSet
        {
