When i use your library on UICollection view with custom layout, after removing all items, i got crash here:
override func layoutAttributesForItem(at indexPath: IndexPath) -> UICollectionViewLayoutAttributes? { return cache[indexPath.item] }
But, on method prepare, i always clean my cache.
Helps only invalidation collection view layout after reloadData()