ES6 generators, promises, thunks et.al