         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))
+            entityName = self.entityName()
         }
         
         // Using class name as entity name

        // Executing block
        if synchronously {
            privateContext.performBlockAndWait({ () -> Void in
                if savingBlock != nil  {
                    savingBlock(context: privateContext)
                }
                privateContext.save(true, savingParents: true, completion: completion)
            })
        }
        else {
            privateContext.performBlock({ () -> Void in
                if savingBlock != nil  {
                    savingBlock(context: privateContext)
                }
                privateContext.save(false, savingParents: true, completion: completion)
            })
        }
    }

}

// MARK - Extension SugarRecord + Error Handling

        })
    }
    

    class func save(synchronously: Bool, savingBlock: (context: NSManagedObjectContext) -> (), completion: (success: Bool, error: NSError?) -> ()) {
        // Generating context
        var privateContext: NSManagedObjectContext = NSManagedObjectContext.newContextWithParentContext(NSManagedObjectContext.rootSavingContext()!)
