     /// :asyncClosure: The AsyncClosure.
     /// :see: addAsyncClosure.
     
-    public convenience init(queueKind: AsyncClosuresQueueKind, asyncClosure: AsyncClosure) {
+    @objc public convenience init(queueKind: AsyncClosuresQueueKind, asyncClosure: AsyncClosure) {
         self.init(queueKind: queueKind)
         addAsyncClosure(asyncClosure)
     }
     
-    class public func asyncClosuresOperation(queueKind: AsyncClosuresQueueKind, asyncClosure: AsyncClosure) -> AsyncClosuresOperation {
+    @objc class public func asyncClosuresOperation(queueKind: AsyncClosuresQueueKind, asyncClosure: AsyncClosure) -> AsyncClosuresOperation {
         return AsyncClosuresOperation(queueKind: queueKind, asyncClosure: asyncClosure)
     }
     

}

/// The kind of serial operation queue the AsyncClosuresOperation should manage.
public enum AsyncClosuresQueueKind {
    /// Use a mainQueue operation queue
    case Main
    /// Create a background queue

    
    ///:queueKind: Whether the closures should execute on the mainQueue or a background queue.
    ///:returns: A new AsyncClosuresOperation
    @objc public init(queueKind: AsyncClosuresQueueKind) {
        closureOpQ = queueKind.serialOperationQueueForKind()
        super.init()
    }
