pub trait Module {
type Context;
type ControllerContext;
type ControllerReturn;
// Required method
fn details(
&self,
ctx: &mut Self::Context,
) -> ModuleDetails<Self::Context, Self::ControllerContext, Self::ControllerReturn>;
}