JoshStrobl that's sounds great, especially the generic provider class with providers for different systems. Implementation, Limits and the UI to that are a challenge, but I'm sure you have a vision on what you want there (either the provider getting their own "space" as 3rd party, maybe even getting their own repo settings as in flatpak, or integrated in the main "search" view differentiating there between solus packages/flatpaks/snaps), and only providing like snaps with snapcraft and flatpak with flathub without user-config options (makes no sense for snaps, but for flatpaks maybe).
I'd actually be interested in helping out on implementing the flatpak provider once the ground work is laid, the generic class needs to be coherent with the UI and general implementation vision, so is in best hands with you (once you can find time .. which probably is the hardest challenge).
// G