     /// - parameter identifier: The unique identifier for the image.
     ///
     /// - returns: The image if it is stored in the cache, `nil` otherwise.
-    public func image(withIdentifier identifier: String) -> Image? {
+    open func image(withIdentifier identifier: String) -> Image? {
         var image: Image?
 
         synchronizationQueue.sync {

    ///
    /// - returns: `true` if the image was removed, `false` otherwise.
    @discardableResult
    public func removeImage(withIdentifier identifier: String) -> Bool {
        var removed = false

        synchronizationQueue.sync {

    // MARK: Properties

    /// The current total memory usage in bytes of all images stored within the cache.
    open var memoryUsage: UInt64 {
        var memoryUsage: UInt64 = 0
        synchronizationQueue.sync { memoryUsage = self.currentMemoryUsage }

