.Result
ArchiveReader
IResourceStore
"Change the `ReadAsync` method call to use the `Stream.ReadAsync(Memory<byte>, CancellationToken)` overload"
Also moves delete and action logic to a shared implementation