     }
 
     view.translatesAutoresizingMaskIntoConstraints = false
-//    cell.contentView.translatesAutoresizingMaskIntoConstraints = false
     cell.contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
 
     cell.contentView.addSubview(view)

  }

  public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return views.count
  }

  public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath)

    let view = views[indexPath.item]

    if view.superview == cell.contentView {
      return cell


  open func append(view: UIView) {

    let key = UUID().uuidString
    source.append((view, key))

    register(Cell.self, forCellWithReuseIdentifier: key)

    reloadData()
  }

  open func append(views: [UIView]) {

    views.forEach {
      append(view: $0)
    }

  }

  open func remove(view: UIView, animated: Bool) {

    if let index = source.map({ $0.0 }).index(of: view) {
      source.remove(at: index)
      view.removeFromSuperview()
    }
  }
