The current factory configuration handling is complicated and seems to missing proper synchronization. There is a Factory object holding the set of configurations belonging to a single factory configuration. However this is maintained/synchronized at a different place than the configurations in the persistence manager. This could lead to subtle race conditions.
I think we can get away with doing all the caching in the persistence manager (proxy) and avoid the need of additional synchronization. In addition, there should be no need to store the list of configurations belonging to a factory configuration into the persistence