 extension StreamViewController: CategoryDelegate {
 
     public func categoryCellTapped(cell: UICollectionViewCell) {
-        guard let indexPath = collectionView.indexPathForCell(cell),
-           post = dataSource.jsonableForIndexPath(indexPath) as? Post,
-           category = post.category
-        else {
-            return
-        }
+        guard let
+            indexPath = collectionView.indexPathForCell(cell),
+            post = dataSource.jsonableForIndexPath(indexPath) as? Post,
+            category = post.category
+        else { return }
 
         categoryTapped(category)
     }
-
 }
 
 // MARK: StreamViewController: UserDelegate
 extension StreamViewController: UserDelegate {
 
     public func userTappedText(cell: UICollectionViewCell) {
-        if streamKind.tappingTextOpensDetail {
-            if let indexPath = collectionView.indexPathForCell(cell) {
-                collectionView(collectionView, didSelectItemAtIndexPath: indexPath)
-            }
-        }
+        guard !streamKind.tappingTextOpensDetail,
+            let indexPath = collectionView.indexPathForCell(cell)
+        else { return }
+
+        collectionView(collectionView, didSelectItemAtIndexPath: indexPath)
     }
 
     public func userTapped(user: User) {

    }

    private func showSettings() {
        if let settings = UIStoryboard(name: "Settings", bundle: .None).instantiateInitialViewController() as? SettingsContainerViewController {
            settings.currentUser = currentUser
            navigationController?.pushViewController(settings, animated: true)
        }
    }

    private func selectTab(tab: ElloTab) {


    public func collectionView(collectionView: UICollectionView,
        shouldSelectItemAtIndexPath indexPath: NSIndexPath) -> Bool {
            guard
                let cellItemType = dataSource.visibleStreamCellItem(at: indexPath)?.type
            else { return false }

            return cellItemType.selectable
    }
}

