title: Issue caching images with custom collection view cell using KingFisher
body: <p>I'm using Kingfisher to cache an image that is stored in Firebase. I'm retrieving the image with a url call to Firebase, then attempting to cache that image for re-use. The below logic in <code>configureCell(with video:Video)</code> was previously in <code>cellForItemAt</code> and the image caching worked just fine. However, after moving this logic to the custom cell and calling this function from <code>cellForItemAt</code>, the images aren't being retrieved through the cache. Every image is downloaded, then re-downloaded if it re-appears in the collection view. My code is below. Thanks for the help in advance.</p>
  
  <pre><code>class ProminentVideoCollectionViewCell: UICollectionViewCell {
  @IBOutlet weak var descriptionLabel: UILabel!
  @IBOutlet weak var timeLabel: UILabel!
  
  func configureCell(with video:Video) {
      self.timeLabel.text = video.date?.getElapsedInterval()
      let thumbnailImageView = UIImageView()
      ImageCache.default.retrieveImage(forKey: video.thumbnailurl!, options: nil) {
          image, cacheType in
          if let image = image {
              //Video thumbnail exists in cache--set it
              thumbnailImageView.image = image
              self.backgroundView = thumbnailImageView
              print("Get image \(image), cacheType: \(cacheType).")
  
          } else {
              //Video thumbnail does NOT exist in cache, download it
              video.downloadThumbnailFromStorage(with: { (url) in
                  let resource = ImageResource(downloadURL: url, cacheKey: video.thumbnailurl!)
                  let processor = BlurImageProcessor(blurRadius: 40.0) &gt;&gt; RoundCornerImageProcessor(cornerRadius: 20)
  
                  thumbnailImageView.kf.setImage(with: resource, options: [.processor(processor)])
                  self.backgroundView = thumbnailImageView
              })
  
  
          }
      }
  }
  </code></pre>
  
  <p>In my View Controller:</p>
  
  <pre><code>func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -&gt; UICollectionViewCell {
  let currentVideo = self.selectedVideosArray.object(at: indexPath.row) as! Video
          let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! ProminentVideoCollectionViewCell
          cell.configureCell(with: currentVideo)
          return cell
  }
  </code></pre>