Fixed return type for #adapter
Refactored PackageManager to follow adapter pattern
Moved notifier logic for #upgrade_packages to package_manager

Now adapter PMs only have to run their shell command.