You can create a release to package software, along with release notes and links to binary files, for other people to use. Learn more about releases in our docs.
This solution looks quite similar to the mechanism of "Promise" if you are familiar with JavaScript ES6. Actually, we can achieve all the above logic by making use of task-based asynchronous pattern ...