Looks like this could make use of `once` after it's moved to `sdk/dom/events` and renamed to `promise`.