pub trait DeclaredPlugin<StartArgs, Instance>: PluginStatus {
// Required methods
fn as_status(&self) -> &dyn PluginStatus;
fn load(
&mut self,
) -> ZResult<Option<&mut dyn LoadedPlugin<StartArgs, Instance>>>;
fn loaded(&self) -> Option<&dyn LoadedPlugin<StartArgs, Instance>>;
fn loaded_mut(
&mut self,
) -> Option<&mut dyn LoadedPlugin<StartArgs, Instance>>;
}