Memoize AWS calls

Turns out common data isn't re-used between calls or eagerly loaded unless you surround everything in a memoize block (per https://forums.aws.amazon.com/thread.jspa?messageID=284451).