protected async Task PrepareStorageAsync(Guid id, TModel storageValue)
        {
            if (storageValue == null)
            {
                await CrudStorage.DeleteAsync(id);
            }
            else
            {
                var value = await CrudStorage.ReadAsync(id);

                if (value == null)
                {
                    await CrudStorage.CreateWithSpecifiedIdAsync(id, storageValue);
                }
                else if (!Equals(value, storageValue))
                {
                    await CrudStorage.UpdateAsync(id, storageValue);
                }
            }
        }