Use `performBlockAndWait:` to avoid duplicates when adding to the cache. refs #1079