While league/flysystem is a great library for interacting with files, it does not support all required features like multi part uploads/downloads.
Using aws/aws-sdk-php was considered, but due to the bundle size - 41 MB just for S3 support - it will not be used.
async-aws/s3 on the other hand supports multi part uploads, multi part downloads and is quite a bit smaller (962 KB).