         self.player = player
     }
 
-    func run() -> Observable<URL?> {
+    func run() -> Observable<Response?> {
         func getPreviewInfo(track: Track) -> (URL, Double)? {
             print(track.id, track.name)
             if let duration = track.metadata?.duration {


    fileprivate let previewer: Preview

    fileprivate var queueController: QueueController<URL>!
    private let queueuingCount = Variable<Int>(0)

    init(previewer: Preview) {
        self.previewer = previewer
        super.init()

        queueController = QueueController(queueingCount: queueuingCount.asObservable()) { [weak self] url in
            if let (id, duration) = self?.tracks[url] {
                self?.configureNextPlayerItem(id: id, url: url, duration: duration)
            }
        }
        #if (arch(i386) || arch(x86_64)) && os(iOS)
            _player.volume = 0.02

                    let index = self.index
                    let playlist = self.playlist

                    if playlist.isTrackEmpty || playlist.trackCount < index {
                        self.canPop = true
                        subscriber.onNext(Observable.just(nil))
                        subscriber.onCompleted()
