We should use a trait to access the storage layer, that makes it easier to implement gRPC in simulacrum for example. See "RestReader" etc,.