         }
 
         return cell
+    }
+
+    func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
+
+        if let view = view, let delegate = view.delegate {
+            NSIndexPath(forItem: indexPath.item, inSection: collectionView.tag)
+            delegate.shelfView(view, didSelectItemAtIndexPath: indexPath)
+        }
     }
 
 }

extension View.DataController: UICollectionViewDataSource, UICollectionViewDelegate {

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 3
    }

    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

        }
        cell.collectionView.delegate = self
        cell.collectionView.dataSource = self
        cell.collectionView.tag = indexPath.row // TODO: replace tag to other variable

        return cell
    }
