First rework.
Promisification part 1 - testing.
Some promise improvements.