a small abstraction over several s3 providers