     - returns: NSManagedObjectContext The new worker context.
     */
     public func newBackgroundWorkerMOC() -> NSManagedObjectContext {
-        let moc = StackObservingContext(concurrencyType: .PrivateQueueConcurrencyType)
+        let moc = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
         moc.mergePolicy = NSMergePolicy(mergeType: .MergeByPropertyStoreTrumpMergePolicyType)
         moc.parentContext = self.mainQueueContext
         moc.name = "Background Worker Context"

        }
    }
}

/**
Private subclass of NSManagedObject used to remove itself from NSNotificationCenter,
as an observer of peer and/or parent contexts save notifications.
*/
private class StackObservingContext: NSManagedObjectContext {
    deinit {
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }
}

    public func newBackgroundContext(shouldReceiveUpdates shouldReceiveUpdates: Bool = false) -> NSManagedObjectContext {
        var context: NSManagedObjectContext!

        context = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
        context.persistentStoreCoordinator = persistentStoreCoordinator
        context.mergePolicy = NSMergePolicy(mergeType: .MergeByPropertyStoreTrumpMergePolicyType)
        context.name = "Background Context (Shared Coordinator Pattern)"
