OS conceptual idea: the basic executable unit is the package (as in, binaries are packages, packages are binaries).
When a package is introduced to the filesystem, it's immediately registered with the package manager, for the user that introduced it only (packages can be installed per-user or per-system). Dependencies are automatically fetched, and any not already installed are also registered to that user.
Packages also carry a repo attribute, that the package manager automatically adds (and it's restricted to that package and dependencies that aren't available in the native repos only, and also restricted per-user).
An administrator can promote the package to per-system, as well as promoting the repos.
(That said, submission to native repos is preferred, but this allows development repos, as well as things inappropriate for native repos, without the Windows/macOS situation of per-app updaters.)