Proposal for #7173

This is an example of the potential cleanup opportunities of using promise chaining.

I'm not 100% sure if .always() fires AFTER all .then()'s are fired, which would be best.

THIS IS NOT INTENDED TO BE MERGED!!!