I'm developing a chat app, I'm having problem showing the Avatar to my `JSQMessagesViewController`

```
override func collectionView(collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageAvatarImageDataSource! {

    var avatar = UIImage()

    let people = FIRDatabase.database().reference().child("people").child(senderId)
    people.observeEventType(.Value, withBlock: {
        snapshot -> Void in
        let dict = snapshot.value as! Dictionary<String, AnyObject>
        let imageUrl = dict["profileImage"] as! String
        if imageUrl.hasPrefix("gs://") {
            FIRStorage.storage().referenceForURL(imageUrl).dataWithMaxSize(INT64_MAX, completion: { (data, error) in
                if let error = error {
                    print("Error downloading: \(error)")
                    return
                }
                avatar = UIImage.init(data: data!)!

            })
        }
    })

    let AvatarJobs = JSQMessagesAvatarImageFactory.avatarImageWithPlaceholder(avatar, diameter: UInt(kJSQMessagesCollectionViewAvatarSizeDefault))

    return AvatarJobs
}

```

The problem here is, when I'm trying to pull the image of the sender from firebase, I'm getting a blank image, but when i try to use this `let AvatarJobs = JSQMessagesAvatarImageFactory.avatarImageWithPlaceholder(UIImage(named: "icon.png"), diameter: UInt(kJSQMessagesCollectionViewAvatarSizeDefault))` it's working fine, What do you think is the problem here? Thanks!