         return nil
     }
     
-    func emptyQueue() -> Void {
+    public func emptyQueue() -> Void {
         reusables.removeAllObjects()
     }
     

            object: nil)
    }
    
    func enqueueReusable(reusable: Reusable) -> Void {
        let identifier = identifierFromReusableClass(reusable.dynamicType)
        var objects: Array<Reusable> = reusables.objectForKey(identifier) as? Array<Reusable> ??  Array<Reusable>()
        reusable.prepareForReuse?()

        reusables.setObject(objects, forKey: identifier)
    }
    
    public func dequeueReusableWithIdentifier(identifier: String) -> Reusable? {
        if var objects: Array<Reusable> = reusables.objectForKey(identifier) as? Array<Reusable> where
            objects.count > 0{
            let reusable = objects.removeFirst()
