I reviewed too, and already committed you and Levente's changes.
yes I like the repeat in atomicUpdatePreferences:. That's safe. I don't care much for the method temp in refEvent: cuz I think the message keyword types anEvent item adequately. Not sure about storePreferencesIn: not taking a copy of preferencesDictionary. Surely it's safer to take the copy.
I had similar doubts initially, until I read Levente's comment: He reminds us that the dictionary is NEVER updated. Only read and replaced whole. A copy there is even misleading to the reader.
So let me take the change to atomicUpdatePreferences: and get this show on the road :-). Thanks for your review!
Already done. Thanks Eliot and Levente!