pub trait InstallHandler {
// Required method
fn install_handler(&self) -> Result<()>;
// Provided methods
fn install(&self) -> Result<()> { ... }
fn error_handler(&self) { ... }
fn before_install(&self) -> Result<()> { ... }
fn after_install(&self) -> Result<()> { ... }
}