Correct promise implementation.  All and __iterate now use chaining, instead of then.