     static var GIF: [UInt8] = [0x47, 0x49, 0x46]
 }
 
+//enum ImageFormat {
+//    case unknown, PNG, JPEG, GIF
+//}
 enum ImageFormat {
     case unknown, PNG, JPEG, GIF
 }
 
+
+// MARK: - Misc Helpers
+//public struct DataProxy {
+//    fileprivate let base: Data
+//    init(proxy: Data) {
+//        base = proxy
+//    }
+//}
 
 // MARK: - Misc Helpers
 public struct DataProxy {

    }
}

extension CGBitmapInfo {
    var fixed: CGBitmapInfo {
        var fixed = self

    }
}

//extension Data: KingFisherCompatible {
//    public typealias CompatibleType = DataProxy
//    public var kf: DataProxy {
//        return DataProxy(proxy: self)
//    }
//}
extension Data: KingFisherCompatible {
    public typealias CompatibleType = DataProxy
    public var kf: DataProxy {
        return DataProxy(proxy: self)
    }
}

//extension DataProxy {
//    var imageFormat: ImageFormat {
//        var buffer = [UInt8](repeating: 0, count: 8)
//        (base as NSData).getBytes(&buffer, length: 8)
//        if buffer == ImageHeaderData.PNG {
//            return .PNG
//        } else if buffer[0] == ImageHeaderData.JPEG_SOI[0] &&
//            buffer[1] == ImageHeaderData.JPEG_SOI[1] &&
//            buffer[2] == ImageHeaderData.JPEG_IF[0]
//        {
//            return .JPEG
//        } else if buffer[0] == ImageHeaderData.GIF[0] &&
//            buffer[1] == ImageHeaderData.GIF[1] &&
//            buffer[2] == ImageHeaderData.GIF[2]
//        {
//            return .GIF
//        }
//        
//        return .unknown
//    }
//}

extension DataProxy {
    var imageFormat: ImageFormat {
