             }
         }
         
-        let saveBlock: () -> () = {
+        var saveBlock: () -> () = {
             var saveResult: Bool = false
             var error: NSError?
             saveResult = self.save(&error)

        var entityName: String?
        
        if (self.respondsToSelector(Selector("entityName"))) {
            //TODO - PENDING TO BE ADDED
            //entityName = self.performSelector(Selector("entityName"), onThread: NSThread.mainThread(), withObject: nil, waitUntilDone: true))
        }
        
        // Using class name as entity name

    func description() -> (String) {
        let onMainThread: String = NSThread.mainThread() ? "Main Thread" : "Background thread"
        return "<\(object_getClassName(self)) (\(self)): \(self.workingName()) on \(onMainThread)"
    }
    
    func parentChain () -> (String)
