Use a more explicit promise adapter interface for tests of the different promise implementations