I haven't used `NSMapTable`, but it looks to be [not thread safe](https://developer.apple.com/library/mac/#documentation/cocoa/conceptual/Multithreading/ThreadSafetySummary/ThreadSafetySummary.html). If true, should calls to `-setObject:forKey:` be synchronized with an `OSSpinLock`?