         // Initialize stack
         NSManagedObjectContext.initializeContextsStack(psc!)
     }
+    
+    // Background queue
+    class func backgroundQueue() -> (dispatch_queue_t) {
+        if Static.backgroundQueue == nil {
+            Static.backgroundQueue = dispatch_queue_create(srBackgroundQueueName, 0)
+        }
+        return Static.backgroundQueue!
+    }
 
     
     // CleanUp

    
    // Returns current stack information
    class func currentStack () -> (stack: String?) {
        return nil
    }
    

        }
        return databaseName
    }
    
    
    // Threading //
    class func save(inBackground background: Bool, savingBlock: (context: NSManagedObjectContext) -> ()) {
        // Generating context
        var privateContext: NSManagedObjectContext = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
        privateContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
        savingBlock(context: privateContext)
        
        
    }
    /*
/* For all background saving operations. These calls will be sent to a different thread/queue.
*/
+ (void) saveWithBlock:(void(^)(NSManagedObjectContext *localContext))block;
+ (void) saveWithBlock:(void(^)(NSManagedObjectContext *localContext))block completion:(MRSaveCompletionHandler)completion;

/* For saving on the current thread as the caller, only with a seperate context. Useful when you're managing your own threads/queues and need a serial call to create or change data
*/
+ (void) saveWithBlockAndWait:(void(^)(NSManagedObjectContext *localContext))block;*/
}

// MARK - Extension SugarRecord + Error Handling
