Pass information to, read it in downloads.onCreated

Can I pass information to that is then available to me in downloads.onCreated ?
For example, a string that says why the download was created, and what to do with it in downloads.onCreated returns the ID of the download, which you could use to store this information within your extension (probably in-memory in an object or similar) and then look it up in the downloads.onCreated listener based on the ID of the created download (given the extension ID for the download is yours).

That’s how I originally wanted to solve this problem, but it doesn’t work.

Firefox 68.0.1 (64-Bit)
Linux Mint 19.1
Add-on code: (5.3 KB)

Click on the browser action icon to create a text blob and download it to Pass_Information.txt in the standard downloads directory.

Console output:
browserAction_onClicked savedDownloadId null
downloads_onCreated savedDownloadId null savedDownloadId 11
downloads_onChanged savedDownloadId 11

downloads.onCreated() is called before the Promise has been fulfilled.

Before you say “then just do whatever you want to do in downloads.onChanged() instead”:
With everything being asynchronous, can I really depend on downloads.onChanged() getting called after the Promise has been fulfilled?
In every possible situation, and in future versions of Firefox?