Boil promise interface down to absolute minimum.
Rework promises and async stuff.