 
 import UIKit
 
-func ==(lhs: AvatarPod.Request, rhs: AvatarPod.Request) -> Bool {
-    return lhs.key == rhs.key
-}
-
 public class AvatarPod {
 
     static let sharedInstance = AvatarPod()
-
-    private init() {
-    }
 
     let cache = NSCache()
 

        cache.setObject(styledImage, forKey: request.key)
    }

    private let requestQueue = dispatch_queue_create("com.nixWork.Navi.requestQueue", DISPATCH_QUEUE_SERIAL)

    private let cacheQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)

    private func completeRequestsWithURL(URL: NSURL, image: UIImage, cacheType: CacheType) {

        dispatch_async(requestQueue) {

            let requests = self.requestPool.requestsWithURL(URL)

            requests.forEach({ request in

                dispatch_async(self.cacheQueue) {

                    let styledImage = image.navi_avatarImageWithStyle(request.avatar.style)


    public class func wakeAvatar(avatar: Avatar, completion: Completion) {

        guard let URL = avatar.URL else {
            completion(finished: false, image: avatar.placeholderImage ?? UIImage(), cacheType: .Memory)
            return
        }

