 
     public init(feedRepository: FeedRepository,
                 themeRepository: ThemeRepository,
-                tagEditorViewController: TagEditorViewController,
-                articleListController: ArticleListController) {
+                tagEditorViewController: Void -> TagEditorViewController,
+                articleListController: Void -> ArticleListController) {
         self.feedRepository = feedRepository
         self.themeRepository = themeRepository
         self.tagEditorViewController = tagEditorViewController


    private let feedRepository: FeedRepository
    private let themeRepository: ThemeRepository
    private let tagEditorViewController: TagEditorViewController
    private let articleListController: ArticleListController

    public lazy var tableView: UITableView = {
        let tableView = UITableView(forAutoLayout: ())

        case .Query:
            let previewTitle = NSLocalizedString("QueryFeedViewController_Cell_Action_Preview", comment: "")
            let preview = UITableViewRowAction(style: .Normal, title: previewTitle, handler: {(_, _) in
                let articleListController = self.articleListController()
                articleListController.previewMode = true
                self.feedRepository.articlesMatchingQuery(self.feedQuery) {articles in
                    articleListController.articles = DataStoreBackedArray(articles)
                }
                self.navigationController?.pushViewController(articleListController, animated: true)
            })
            return [preview]
        case .Tags:
