Refactoring the download stage
While experimenting with failsafe DeclarativeArtifacts, a discussion  came up that the ArtifactStage does not use the right level of abstraction.
In the current implementation, it works at the DeclarativeContent level and creates downloader coroutines to be run afterwards. After obtaining the download results, an expensive lookup of the corresponding DeclarativeArtifacts is performed in order to update them.
Move creating download coroutines, running them and updating the associated Artifact to a coroutine `download` in the class DeclarativeArtifacts. All neccesary information is already there.
Please register to edit this issue