 
         // Add observers for metadata and item status, respectively.
         playerItem?.addObserver(self, forKeyPath: observedValue, options: NSKeyValueObservingOptions.new, context: nil)
-        playerItem?.addObserver(self, forKeyPath: #keyPath(AVPlayerItem.status), options: [.old, .new], context: &playerItemContext)
+        playerItem?.addObserver(self, forKeyPath: #keyPath(AVPlayerItem.status), options: [.old, .new], context: nil)
 
         // Update metadata.
         update()

            switch status {
            case .readyToPlay:
                // Player item is ready to play.
                delegate?.jukeboxItemReadyToPlay(self)
                break
            case .failed:
                // Player item failed. See error.
            case .unknown:
                // Player item is not yet ready.
            }
        }

            scheduleNotification()
        }

        if keyPath == #keyPath(AVPlayerItem.status) {
            let status: AVPlayerItemStatus
            
            // Get the status change from the change dictionary
