Chaining and other Practical Uses for Promises for JavaScript (ECMAScript6, ES2015)