         }
     }
     
+    /**
+     * Asynchronously retreive an object for a given key.
+     *
+     * parameter key:               The key to retreive an object for.
+     * parameter completionHandler: A closure to be called on completion.
+     */
     public func objectForKey(key: String, completionHandler: CacheObjectBlock?) {
         async { [weak self] in
             guard let strongSelf = self else { return }

        }
    }
    
    public func removeAllObjects(completionHandler: CacheBlock?) {
        async { [weak self] in
            guard let strongSelf = self else { return }

        diskCache.removeAllObjects()
    }
    
    /**
     * Get/Set an object for the given key using the synchronous accessor/setter.
     */
    public subscript(index: String) -> NSCoding? {
        get {
            return objectForKey(index)
