Hi vitkoz,
I understand that you have needs. But, I have to work on the provider model before any other enhancements. I do not know what is the more important enhancement for you (downlodable or multigateway). I think that it would be advantageous to start with the download, because several users have this need. I already thought about this type of improvement and I think that there are two kinds of needs.
The first level would consist in adding the selection of a standard dnn security role in the product form. Thus, when an order would be paid, it would be simple to add the user in the security role corresponding to the ordered products. The site could have a page with an access limited to the groups used in the products. Then, while placing a standard download module on the page, it would be possible to give the access to certain files only.
The second level is a complement of the first. Rather than to have to place a download module for each security role, it would be more practical to have only one module which would display only the files for which the user has an access right. For that, I think that it would be simpler to use the standard download module as bases. It would just be necessary to inherit certain classes of the Store module and to control if the user have the corresponding right before displaying it.
The good news is that I can easily include your improvements if you send me the source code of your modified solution. For doing that, I'm using WinMerge a very useful software to compare files. ;-)
Gilles