     }
 
     public func onboardingWillProceed(abort: Bool, proceedClosure: (success: OnboardingViewController.OnboardingProceed) -> Void) {
-        if let
-            selection = streamViewController.collectionView.indexPathsForSelectedItems()
-        where selection.count > 0 {
-            let categories = selection.flatMap { (path: NSIndexPath) -> Category? in
-                return streamViewController.dataSource.jsonableForIndexPath(path) as? Category
-            }
-
+        if selectedCategories.count > 0 {
+            let categories = self.selectedCategories
             for category in categories {
                 Tracker.sharedTracker.categorySelected(category)
             }

    var mockScreen: Screen?
    var screen: Screen { return mockScreen ?? (self.view as! Screen) }
    var parentAppController: AppViewController?
    public var onboardingViewController: OnboardingViewController?
    public var onboardingData: OnboardingData!


            canGoNext = true
        }

        selectedCategories = selection
        onboardingViewController?.prompt = prompt
        onboardingViewController?.canGoNext = canGoNext
    }
