Changed last attempted version storage to storage on disk, added thread-safe access for version objects even though we don't use multiple threads