   private var screens: [UIImage]
   private let overlay: Float
   
-  let delegate: CollectionStackViewControllerDelegate
+  weak var delegate: CollectionStackViewControllerDelegate?
   
   init(images: [UIImage],
-    delegate: CollectionStackViewControllerDelegate,
+    delegate: CollectionStackViewControllerDelegate?,
     overlay: Float,
     scaleRatio: Float,
     scaleValue: Float,


// MARK: CollectionStackViewController

protocol CollectionStackViewControllerDelegate {
  func controllerDidSelected(index index: Int)
}


  }
  
  override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    delegate?.controllerDidSelected(index: indexPath.row)
    
    guard let currentCell = collectionView.cellForItemAtIndexPath(indexPath) else {
      return
