Add S3 Support, changing the API a bit.

Line is too long. [85/80]