The preventMove + continue API can already be used to easily write async step-handling.
This could be simplified by supporting promises out of the box.
So this:
onNext: async () => {
boarding.preventMove();
await myPromise();
boarding.continue();
},
Could become this:
onNext: async () => {
await myPromise();
},
Where continue & preventMove are auto handled by the library in the background in case a promise is returned from the handler.