Update to use dispatch instead of the NSRecursiveLock to insure single access to the dictionary.