it seems like we're going to use this so infrequently that it will be fine to just grab the lock.  however, if we start having to lock frequently, it might make sense to just use a concurrentset.