I don't think we should use the instance lock, a finer grain lock would be better. No locking at all would be awesome (the Java ``ConcurruentHashMap`` offers atomic operations such as ``putIfAbsent``, maybe we can use that).