         super.init()
         
         executeOnMainQueue {
+            setupTypeNamesLookup()
             setup()
             setupChildrenRelationshipsLookup()
         }

    
    func realmObjectClass(name: String) -> Object.Type {
        
        if let objClass = NSClassFromString(name) {
            return objClass as! Object.Type
        } else {
            let namespace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String
            return NSClassFromString("\(namespace).\(name)") as! Object.Type
        }
    }
    
    func updateHasChanges(realm: Realm) {

    var objectNotificationTokens = [String: NotificationToken]()
    var pendingTrackingUpdates = [ObjectUpdate]()
    var childRelationships = [String: Array<ChildRelationship>]()
    var modelTypes = [String: Object.Type]()
    var hasChangesValue = false
    
    /* Should be initialized on main queue */
