Implement (kinda naive) caching system, to update only modified fields instead of whole document, trying to avoid race conditions