public async Task <M> TryReadCacheAsync(ModelPaths modelPaths, Action <IDataItem> dataItemsCallback)
        {
            Log.Debug($"Try reading cached model: {modelPaths}");
            if (IsCacheOlderThanSave(modelPaths))
            {
                Log.Debug("Cache is older than saved layout data, ignoring cache.");
                return(M.NoValue);
            }

            string cacheFilePath = GetCacheFilePath(modelPaths);

            return(await cacheSerializer.TryDeserializeAsync(cacheFilePath, dataItemsCallback));
        }