pub trait PackageEngine {
// Required methods
fn install(
&self,
installer: &CatalogInstaller,
download_path: &Path,
install_dir: &Path,
package_name: &str,
) -> Result<EngineInstallReceipt>;
fn remove(&self, package: &InstalledPackage) -> Result<()>;
}