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

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

        return nil
    }
    
    public func dequeueReusableWithClass(reusableClass: Reusable.Type) -> Reusable? {
        return dequeueReusableWithIdentifier(identifierFromReusableClass(reusableClass))
    }
    
    public func dequeueOrCreateReusableWithClass(reusableClass: Reusable.Type) -> Reusable? {
        if let reusable = dequeueReusableWithClass(reusableClass) {
            return reusable
        }
