Allow S3 bucket name to be dynamic

Add a protected method to allow overriding how the s3Bucket is determined.