A promise the host controls: hand promise to the script, settle it when you are ready.
Rejects the promise with reason.
Settles the promise with value. Later calls do nothing, as in a script.