pub trait LoadedPlugin<StartArgs, Instance>: PluginStatus {
// Required methods
fn as_status(&self) -> &dyn PluginStatus;
fn required(&self) -> bool;
fn start(
&mut self,
args: &StartArgs,
) -> ZResult<&mut dyn StartedPlugin<StartArgs, Instance>>;
fn started(&self) -> Option<&dyn StartedPlugin<StartArgs, Instance>>;
fn started_mut(
&mut self,
) -> Option<&mut dyn StartedPlugin<StartArgs, Instance>>;
}