pub trait PluginBuilder<T: UserEvent> { type Plugin: Plugin<T>; fn build(self, context: Context<T>) -> Self::Plugin; }