 
 // MARK: - NSManagedObjectContext Extensions
 
-extension NSManagedObjectContext {
+public extension NSManagedObjectContext {
     
     class func mainQueueContext() -> NSManagedObjectContext {
         let lock = Synchronized(self)


// @see : http://stackoverflow.com/questions/24537238/swift-return-array-of-type-self

protocol NamedManagedObject {
    static func entityName() -> String
}

extension NSManagedObject : NamedManagedObject {
    class func entityName() -> String {
        return NSStringFromClass(self).componentsSeparatedByString(".").last!
    }
    

import UIKit
import CoreData

public typealias SaveCompletionHandler = (Bool, NSError?) -> Void

public class SwCD {
    
