diff --git a/examples/avsb.rs b/examples/avsb.rs
index 30efc51361800da17f81e0897b5b09de26cb6043..46bcb9d524fed418871e69d1936300eb9b55b616 100644
--- a/examples/avsb.rs
+++ b/examples/avsb.rs
@@ -213,10 +213,12 @@ fn swap(input: Res<Input<KeyCode>>, mut query: Query<&mut AvsBState, Without<Pre
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(bevy_inspector_egui::quick::WorldInspectorPlugin::new())
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
-        .add_system(swap)
+        .add_plugins((
+            bevy_inspector_egui::quick::WorldInspectorPlugin::new(),
+            KayakContextPlugin,
+            KayakWidgets,
+        ))
+        .add_systems(Startup, startup)
+        .add_systems(Update, swap)
         .run()
 }
diff --git a/examples/bevy_scene.rs b/examples/bevy_scene.rs
index f6d4064fb2ce83d6ed65bc028be584f3fb1f0f35..462860674e457fa6f841e4ce9e24ad5575d15d5b 100644
--- a/examples/bevy_scene.rs
+++ b/examples/bevy_scene.rs
@@ -259,13 +259,16 @@ fn main() {
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .insert_resource(ActiveColor { index: 0 })
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
-        .add_startup_system(world_setup)
-        .add_system(move_ghost_tile)
-        .add_system(set_active_tile_target)
-        .add_system(move_active_tile)
-        .add_system(on_color_change)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, (startup, world_setup))
+        .add_systems(
+            Update,
+            (
+                move_ghost_tile,
+                set_active_tile_target,
+                move_active_tile,
+                on_color_change,
+            ),
+        )
         .run()
 }
diff --git a/examples/box_shadows.rs b/examples/box_shadows.rs
index 0f7dab13a229752a80fa9fd4e522f41d0262a4e6..400c83e82689ea120e349fbbb652adbce11d83fd 100644
--- a/examples/box_shadows.rs
+++ b/examples/box_shadows.rs
@@ -177,8 +177,7 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(1.0, 1.0, 1.0)))
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/clipping.rs b/examples/clipping.rs
index c53e46c6f076a53e11d2811f55ae791bc18f63a1..9c6c7acc2482a278585a7c86ecb7555768e7116e 100644
--- a/examples/clipping.rs
+++ b/examples/clipping.rs
@@ -67,8 +67,7 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/conditional_widget.rs b/examples/conditional_widget.rs
index fb010a418a6a24acca623cae3b7d4def10c81e4b..04b8b5b5b0317e1ec6ec932ffaa5c5249cb593be 100644
--- a/examples/conditional_widget.rs
+++ b/examples/conditional_widget.rs
@@ -132,8 +132,7 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/context.rs b/examples/context.rs
index db24c81d78cea0c2a01aae5737431085e7028a36..28c4f0e892599a0c967da46bed99eb53b03949c6 100644
--- a/examples/context.rs
+++ b/examples/context.rs
@@ -378,8 +378,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/custom_shader.rs b/examples/custom_shader.rs
index 288c09d0710b9a663720a560122eef630202f27b..9ddd4631ca3bd42d619fa29abaafde9f17a5b4fc 100644
--- a/examples/custom_shader.rs
+++ b/examples/custom_shader.rs
@@ -1,10 +1,14 @@
-use bevy::{prelude::*, reflect::TypeUuid, render::render_resource::AsBindGroup};
+use bevy::{
+    prelude::*,
+    reflect::{TypePath, TypeUuid},
+    render::render_resource::AsBindGroup,
+};
 use kayak_ui::{
     prelude::{widgets::*, *},
     CameraUIKayak,
 };
 
-#[derive(AsBindGroup, TypeUuid, Debug, Clone)]
+#[derive(AsBindGroup, TypeUuid, TypePath, Debug, Clone)]
 #[uuid = "94c4e6f9-6f10-422c-85ec-6d582d471afc"]
 pub struct MyUIMaterial {}
 impl MaterialUI for MyUIMaterial {
@@ -59,9 +63,11 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_plugin(MaterialUIPlugin::<MyUIMaterial>::default())
-        .add_startup_system(startup)
+        .add_plugins((
+            KayakContextPlugin,
+            KayakWidgets,
+            MaterialUIPlugin::<MyUIMaterial>::default(),
+        ))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/demo.rs b/examples/demo.rs
index 7bd8842d3e4ef2630a67de9c0700420ff7a78406..eecc2dfae89f44d3273908d0bb9f3a45608f6db2 100644
--- a/examples/demo.rs
+++ b/examples/demo.rs
@@ -70,9 +70,8 @@ fn update_resource(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
-        .add_system(update_resource)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
+        .add_systems(Update, update_resource)
         .run()
 }
diff --git a/examples/font_size_test.rs b/examples/font_size_test.rs
index 84622dafe35876fa7aad5e91cd0a0eed03490802..39626c7c0e4850eed5c3f4d8162c64b08a9de3a0 100644
--- a/examples/font_size_test.rs
+++ b/examples/font_size_test.rs
@@ -54,8 +54,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/hello_world.rs b/examples/hello_world.rs
index 188504eb9d5bc0316036b79bbd7c15951b9175c8..741a22e85768a4fc16461dcb9767046fc697759d 100644
--- a/examples/hello_world.rs
+++ b/examples/hello_world.rs
@@ -38,8 +38,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/hello_world_no_macro.rs b/examples/hello_world_no_macro.rs
index b67b5cb30d6d43aaafc7bdf6388c754ccfac3c60..46a55aa1c3f366ec3822e21e27ecb188de190292 100644
--- a/examples/hello_world_no_macro.rs
+++ b/examples/hello_world_no_macro.rs
@@ -49,8 +49,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/image.rs b/examples/image.rs
index 40c7edba142927b072af1cfeaf7e3963e994ba5b..089cab70461e871b77d169dcc81ec5b79232f82f 100644
--- a/examples/image.rs
+++ b/examples/image.rs
@@ -40,8 +40,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/layout.rs b/examples/layout.rs
index f2a0e842befff80835b0279686ac37c149352099..ee0950cbc649b50e0b62fa46204ad10e9e932fb0 100644
--- a/examples/layout.rs
+++ b/examples/layout.rs
@@ -136,8 +136,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/modal.rs b/examples/modal.rs
index 5d621de0886176e5fa1a7d2ff6debe9f7217d1fa..a3907ca9deff150d2bcafd0991d2ffdc78cbf530 100644
--- a/examples/modal.rs
+++ b/examples/modal.rs
@@ -1,7 +1,11 @@
-use bevy::{prelude::*, reflect::TypeUuid, render::render_resource::AsBindGroup};
+use bevy::{
+    prelude::*,
+    reflect::{TypePath, TypeUuid},
+    render::render_resource::AsBindGroup,
+};
 use kayak_ui::prelude::{widgets::*, *};
 
-#[derive(AsBindGroup, TypeUuid, Debug, Clone)]
+#[derive(AsBindGroup, TypeUuid, TypePath, Debug, Clone)]
 #[uuid = "94c4e6f9-6f10-422c-85ec-6d582d471afc"]
 pub struct MyUIMaterial {}
 impl MaterialUI for MyUIMaterial {
@@ -158,9 +162,11 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_plugin(MaterialUIPlugin::<MyUIMaterial>::default())
-        .add_startup_system(startup)
+        .add_plugins((
+            KayakContextPlugin,
+            KayakWidgets,
+            MaterialUIPlugin::<MyUIMaterial>::default(),
+        ))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/nine_patch.rs b/examples/nine_patch.rs
index ea211a725baacca64ccb2df3f49c97496d85a64a..5c5b7930f18e9d25a32e98a547930f20cf3285b7 100644
--- a/examples/nine_patch.rs
+++ b/examples/nine_patch.rs
@@ -61,8 +61,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/opacity_layers.rs b/examples/opacity_layers.rs
index 5edfb0ceb20f7dd0e9ee002390ad4512ea352737..0ed151db58263d67a17f89d48b807662553da6e4 100644
--- a/examples/opacity_layers.rs
+++ b/examples/opacity_layers.rs
@@ -56,8 +56,7 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/quads.rs b/examples/quads.rs
index 1c95b8d71db3d95a9dd15c9ca7f18112a01d8a24..44ec9b72563c192590ed7754913bb401da4b6054 100644
--- a/examples/quads.rs
+++ b/examples/quads.rs
@@ -135,10 +135,12 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(LogDiagnosticsPlugin::default())
-        .add_plugin(FrameTimeDiagnosticsPlugin::default())
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((
+            LogDiagnosticsPlugin::default(),
+            FrameTimeDiagnosticsPlugin::default(),
+            KayakContextPlugin,
+            KayakWidgets,
+        ))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/render_target.rs b/examples/render_target.rs
index 52be41b6c831c04256f887b6a3450f258a5b9fc3..484b00ca777aa5d7b53c216b3b12993fc91c672c 100644
--- a/examples/render_target.rs
+++ b/examples/render_target.rs
@@ -182,10 +182,8 @@ fn depsawn_ui(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
-        .add_system(cube_rotator_system)
-        .add_system(depsawn_ui)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
+        .add_systems(Update, (cube_rotator_system, depsawn_ui))
         .run()
 }
diff --git a/examples/scrolling.rs b/examples/scrolling.rs
index 5d93e0b22ab0fd5d86a868b383e628641933bf47..4b52d268757d601fc45e0e4f0857db5a209326cf 100644
--- a/examples/scrolling.rs
+++ b/examples/scrolling.rs
@@ -70,10 +70,12 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(LogDiagnosticsPlugin::default())
-        .add_plugin(FrameTimeDiagnosticsPlugin::default())
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((
+            KayakContextPlugin,
+            KayakWidgets,
+            LogDiagnosticsPlugin::default(),
+            FrameTimeDiagnosticsPlugin::default(),
+        ))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/simple_state.rs b/examples/simple_state.rs
index e04d165eb298fd1c71c3cfe4fcdbb5362a85ec26..0cc77fee6ab48c03d8a20f4a8900d55ae9e0013c 100644
--- a/examples/simple_state.rs
+++ b/examples/simple_state.rs
@@ -138,8 +138,7 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/svg.rs b/examples/svg.rs
index e00666f8a39b4411f1efe0240d81600e8730151a..880223b767c9083c72c0bca126eb5fbb05b8bcbb 100644
--- a/examples/svg.rs
+++ b/examples/svg.rs
@@ -47,9 +47,11 @@ fn main() {
     App::new()
         .insert_resource(Msaa::Sample8)
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_plugin(bevy_svg::prelude::SvgPlugin)
-        .add_startup_system(startup)
+        .add_plugins((
+            KayakContextPlugin,
+            KayakWidgets,
+            bevy_svg::prelude::SvgPlugin,
+        ))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/tabs/tabs.rs b/examples/tabs/tabs.rs
index a695448d70733dcb7bea4112c2e85a8fb37c3fa4..399d771e7713659e99407e2f78d9bbb9927c1d13 100644
--- a/examples/tabs/tabs.rs
+++ b/examples/tabs/tabs.rs
@@ -95,8 +95,7 @@ fn main() {
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
         // .add_plugin(bevy_inspector_egui::quick::WorldInspectorPlugin::new())
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/test_no_startup.rs b/examples/test_no_startup.rs
index 503a4ed738ae95249df095724729591ecabeb240..eaddf1e965a7cd6595a0b9deca83f414a4bee7aa 100644
--- a/examples/test_no_startup.rs
+++ b/examples/test_no_startup.rs
@@ -44,10 +44,9 @@ fn second_sys(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
         .add_state::<GameState>()
-        .add_system(first_sys.in_schedule(OnEnter(GameState::First)))
-        .add_system(second_sys.in_schedule(OnEnter(GameState::Second)))
+        .add_systems(OnEnter(GameState::First), first_sys)
+        .add_systems(OnEnter(GameState::Second), second_sys)))
         .run();
 }
diff --git a/examples/text.rs b/examples/text.rs
index b789465eb6c23b30dc0fdec9c3f3620dc208fa34..a405788ee3e2df34838fd1c3e2d4e704f1aa0cd0 100644
--- a/examples/text.rs
+++ b/examples/text.rs
@@ -109,10 +109,9 @@ fn update_resource(keyboard_input: Res<Input<KeyCode>>, mut my_resource: ResMut<
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
         .insert_resource(MyResource(1))
-        .add_startup_system(startup)
-        .add_system(update_resource)
+        .add_systems(Startup, startup)
+        .add_systems(Update, update_resource)
         .run()
 }
diff --git a/examples/text_box.rs b/examples/text_box.rs
index 5760c35f5b87d4b5f6a19f0625b5856cfbc999a8..0a4d43202072fd7c51cbf4d5d2e4e1a10c827318 100644
--- a/examples/text_box.rs
+++ b/examples/text_box.rs
@@ -128,8 +128,7 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/texture_atlas.rs b/examples/texture_atlas.rs
index 69f7d7d99ae1009bb6e87bed46684f40f0612fde..88807115617ae4f325f0c38fa6a3538e523ef30a 100644
--- a/examples/texture_atlas.rs
+++ b/examples/texture_atlas.rs
@@ -78,8 +78,7 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/todo/todo.rs b/examples/todo/todo.rs
index 125e43bfb8d8b6d50d76fb36b568b54553ab0425..8b4fd1d60a16ad567895f81e0e37756a9d3c7d34 100644
--- a/examples/todo/todo.rs
+++ b/examples/todo/todo.rs
@@ -107,10 +107,12 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
-        .add_plugin(WorldInspectorPlugin::default())
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
+        .add_plugins((
+            KayakContextPlugin,
+            KayakWidgets,
+            WorldInspectorPlugin::default(),
+        ))
         .insert_resource(TodoList::new())
-        .add_startup_system(startup)
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/transitions.rs b/examples/transitions.rs
index 1f5bd0b2be8f52315a1cd208ca311754fe08ff90..41e24e660e5563be8fe4ea47bf9530aa105bc35f 100644
--- a/examples/transitions.rs
+++ b/examples/transitions.rs
@@ -176,10 +176,12 @@ fn startup(
 fn main() {
     App::new()
         .add_plugins(DefaultPlugins)
-        .add_plugin(LogDiagnosticsPlugin::default())
-        .add_plugin(FrameTimeDiagnosticsPlugin::default())
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((
+            KayakContextPlugin,
+            KayakWidgets,
+            LogDiagnosticsPlugin::default(),
+            FrameTimeDiagnosticsPlugin::default(),
+        ))
+        .add_systems(Startup, startup)
         .run()
 }
diff --git a/examples/vec.rs b/examples/vec.rs
index 066841f3228b48c705af1afb23714da9cbfc4d31..d16c34aa32b515e5e881c3e6b026672de8febd74 100644
--- a/examples/vec.rs
+++ b/examples/vec.rs
@@ -84,8 +84,7 @@ fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(0.0, 0.0, 0.0)))
         .add_plugins(DefaultPlugins)
-        .add_plugin(KayakContextPlugin)
-        .add_plugin(KayakWidgets)
-        .add_startup_system(startup)
+        .add_plugins((KayakContextPlugin, KayakWidgets))
+        .add_systems(Startup, startup)
         .run()
 }