     private let indicator: UIActivityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: .gray)
     private var repositories: [RepositoryObject] = []
     private var cursor: FetchRepositories.Cursor?
-    let signal: PagingSignal
-    let observer: PagingSignal.Observer
+    private var pagingObserver: PagingSignal.Observer?
 
     init() {
-        let (signal, observer) = PagingSignal.pipe()
-        self.signal = signal
-        self.observer = observer
-
         super.init(nibName: nil, bundle: nil)
         self.title = "Add repository"
     }

            return
        }

        signal
            .skipRepeats { $0 == $1 }
            .flatMap(FlattenStrategy.concat) { cursor in

                    self.presentError(title: "cannot fetch repositories", error: error)
                }
            }
        pagingObserver?.send(value: cursor)
    }

    // MARK: - ScrollVeiw
    override func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if tableView.contentOffset.y >= (tableView.contentSize.height - tableView.bounds.size.height) {
            pagingObserver?.send(value: cursor)
        }
    }

