A wrapper around the native Promise implementation providing an updatable state available throughout the promise chain as well as useful iterative promise-based methods.