A small extension trait for chainable method calls on App that check for dependency plugins and provide fallbacks as desired.
let mut app = App:;new();
app.assert_plugin::<MyPlugin>();
app.assert_plugin_else::<MyPlugin>(|| MyPlugin { ... });
app.assert_plugin_else_default::<MyPlugin>();