I think that having to pass a CloudTrailClient and S3Client into the iterator would be preferred rather than creating one.