Problem
AssumeRole only provides 60min credentials, that aren't refreshable if MFA is used.
Proposed Solution
Instead of directly using AssumeRole - we should perform MFA via GetSessionToken beforehand.
Then, we can cache the MFA session for up to 12 hours (instead of 60mins). Which is useful if opening several tabs.
This also makes AssumeRole refreshable, allowing long running commands.