diff --git a/Cargo.lock b/Cargo.lock
index 0298c92fdeda002da84f7919ef1de4f59e4db37a..bbc321989e403b2db5d02c5661c6fbc247849184 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -429,10 +429,10 @@ dependencies = [
  "bevy",
  "bytemuck",
  "crevice",
- "kayak_components",
  "kayak_core",
  "kayak_font",
  "kayak_render_macros",
+ "kayak_widgets",
  "serde",
  "serde_json",
  "serde_path_to_error",
@@ -1989,13 +1989,6 @@ dependencies = [
  "wasm-bindgen",
 ]
 
-[[package]]
-name = "kayak_components"
-version = "0.1.0"
-dependencies = [
- "kayak_core",
-]
-
 [[package]]
 name = "kayak_core"
 version = "0.1.0"
@@ -2042,7 +2035,14 @@ version = "0.1.0"
 dependencies = [
  "bevy",
  "bevy_kayak_ui",
- "kayak_components",
+ "kayak_core",
+ "kayak_widgets",
+]
+
+[[package]]
+name = "kayak_widgets"
+version = "0.1.0"
+dependencies = [
  "kayak_core",
 ]
 
diff --git a/Cargo.toml b/Cargo.toml
index 5fd54873c67b2713c1155721b61a191f6d1313cf..746bd9e3a223ee078a2cf0468c8edf5f2e20e201 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -5,15 +5,10 @@ edition = "2021"
 resolver = "2"
 
 [workspace]
-members = [
-    "kayak_components",
-    "kayak_core",
-    "kayak_render_macros",
-    "kayak_font",
-]
+members = ["kayak_widgets", "kayak_core", "kayak_render_macros", "kayak_font"]
 
 [dependencies]
-kayak_components = { path = "kayak_components" }
+kayak_widgets = { path = "kayak_widgets" }
 kayak_core = { path = "kayak_core" }
 
 [dev-dependencies]
diff --git a/bevy_kayak_ui/Cargo.toml b/bevy_kayak_ui/Cargo.toml
index 3e9f474a7985ad0cb1b2c5e5dde3855e1407520d..0337af05d0f58b3238216efdd50fafb14c003c6e 100644
--- a/bevy_kayak_ui/Cargo.toml
+++ b/bevy_kayak_ui/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2021"
 bytemuck = "1.7.2"
 bevy = { git = "https://github.com/bevyengine/bevy", rev = "38c7d5eb9e81ab8e1aec03673599b25a9aa0c69c" }
 kayak_core = { path = "../kayak_core" }
-kayak_components = { path = "../kayak_components" }
+kayak_widgets = { path = "../kayak_widgets" }
 kayak_render_macros = { path = "../kayak_render_macros" }
 kayak_font = { path = "../kayak_font" }
 #kayak_font = { path = "../kayak_font" }
diff --git a/examples/bevy.rs b/examples/bevy.rs
index eade83d0f7e9484a8953b84578d665cfc306b05e..ebc2f496053a1ff825ddf04856695aa0d117abb1 100644
--- a/examples/bevy.rs
+++ b/examples/bevy.rs
@@ -5,10 +5,10 @@ use bevy::{
     PipelinedDefaultPlugins,
 };
 use bevy_kayak_ui::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle};
-use kayak_components::Window;
 use kayak_core::Index;
 use kayak_ui::components::App;
 use kayak_ui::core::{rsx, widget};
+use kayak_widgets::Window;
 
 #[widget]
 fn TestState() {
diff --git a/examples/counter.rs b/examples/counter.rs
index 3e555e729e2f53665343840bad6b60b8983c5578..08c0a73122f5f6021f92cac637bc2dc4224c8ed3 100644
--- a/examples/counter.rs
+++ b/examples/counter.rs
@@ -5,7 +5,7 @@ use bevy::{
     PipelinedDefaultPlugins,
 };
 use bevy_kayak_ui::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle};
-use kayak_components::{Button, Text, Window};
+use kayak_widgets::{Button, Text, Window};
 use kayak_core::{
     styles::{Style, StyleProp, Units},
     Bound, EventType, Index, MutableBound, OnEvent,
diff --git a/examples/full_ui.rs b/examples/full_ui.rs
index 295d11bd0a8de0ffebc3b86606a5e04f4c1fec3d..2ac8416776332479f813784a4d2b3143fe5ae73d 100644
--- a/examples/full_ui.rs
+++ b/examples/full_ui.rs
@@ -5,7 +5,7 @@ use bevy::{
     PipelinedDefaultPlugins,
 };
 use bevy_kayak_ui::{BevyContext, BevyKayakUIPlugin, FontMapping, ImageManager, UICameraBundle};
-use kayak_components::{NinePatch, Text};
+use kayak_widgets::{NinePatch, Text};
 use kayak_core::{
     layout_cache::Space,
     styles::{LayoutType, Style, StyleProp, Units},
diff --git a/examples/global_counter.rs b/examples/global_counter.rs
index 7c12559253cf4929c508319a41b7322fdcdfac21..6c46afda86b2e418be84fe47c8b70dbbc2d5101c 100644
--- a/examples/global_counter.rs
+++ b/examples/global_counter.rs
@@ -5,7 +5,7 @@ use bevy::{
     PipelinedDefaultPlugins,
 };
 use bevy_kayak_ui::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle};
-use kayak_components::{Text, Window};
+use kayak_widgets::{Text, Window};
 use kayak_core::{bind, Binding, Bound, Index, MutableBound};
 use kayak_ui::components::App;
 use kayak_ui::core::{rsx, widget};
diff --git a/examples/image.rs b/examples/image.rs
index 82b571488c00812cdf44bd7713a2d89daec7beed..25aade54a03c759ebcaf94af99cd74abd2dfe945 100644
--- a/examples/image.rs
+++ b/examples/image.rs
@@ -5,7 +5,7 @@ use bevy::{
     PipelinedDefaultPlugins,
 };
 use bevy_kayak_ui::{BevyContext, BevyKayakUIPlugin, ImageManager, UICameraBundle};
-use kayak_components::Image;
+use kayak_widgets::Image;
 use kayak_core::Index;
 use kayak_ui::components::App;
 use kayak_ui::core::rsx;
diff --git a/examples/nine_patch.rs b/examples/nine_patch.rs
index 0a14f1a27c83ee6cbbd0787d724d51b7e6216c88..340b2bb9f436b564fbc8f836396635581615ee87 100644
--- a/examples/nine_patch.rs
+++ b/examples/nine_patch.rs
@@ -5,7 +5,6 @@ use bevy::{
     PipelinedDefaultPlugins,
 };
 use bevy_kayak_ui::{BevyContext, BevyKayakUIPlugin, ImageManager, UICameraBundle};
-use kayak_components::NinePatch;
 use kayak_core::{
     layout_cache::Space,
     styles::{Style, StyleProp, Units},
@@ -13,6 +12,7 @@ use kayak_core::{
 };
 use kayak_ui::components::App;
 use kayak_ui::core::rsx;
+use kayak_widgets::NinePatch;
 
 fn startup(
     mut commands: Commands,
diff --git a/kayak_components/.gitignore b/kayak_widgets/.gitignore
similarity index 100%
rename from kayak_components/.gitignore
rename to kayak_widgets/.gitignore
diff --git a/kayak_components/Cargo.toml b/kayak_widgets/Cargo.toml
similarity index 83%
rename from kayak_components/Cargo.toml
rename to kayak_widgets/Cargo.toml
index 4f8fea6fe0dedaa63025911fbfea63bdc272c724..04a5ec40ba26d680a8029c913d17b8e936ef3c03 100644
--- a/kayak_components/Cargo.toml
+++ b/kayak_widgets/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "kayak_components"
+name = "kayak_widgets"
 version = "0.1.0"
 edition = "2021"
 resolver = "2"
diff --git a/kayak_components/src/app.rs b/kayak_widgets/src/app.rs
similarity index 100%
rename from kayak_components/src/app.rs
rename to kayak_widgets/src/app.rs
diff --git a/kayak_components/src/background.rs b/kayak_widgets/src/background.rs
similarity index 100%
rename from kayak_components/src/background.rs
rename to kayak_widgets/src/background.rs
diff --git a/kayak_components/src/button.rs b/kayak_widgets/src/button.rs
similarity index 100%
rename from kayak_components/src/button.rs
rename to kayak_widgets/src/button.rs
diff --git a/kayak_components/src/clip.rs b/kayak_widgets/src/clip.rs
similarity index 100%
rename from kayak_components/src/clip.rs
rename to kayak_widgets/src/clip.rs
diff --git a/kayak_components/src/element.rs b/kayak_widgets/src/element.rs
similarity index 100%
rename from kayak_components/src/element.rs
rename to kayak_widgets/src/element.rs
diff --git a/kayak_components/src/image.rs b/kayak_widgets/src/image.rs
similarity index 100%
rename from kayak_components/src/image.rs
rename to kayak_widgets/src/image.rs
diff --git a/kayak_components/src/lib.rs b/kayak_widgets/src/lib.rs
similarity index 100%
rename from kayak_components/src/lib.rs
rename to kayak_widgets/src/lib.rs
diff --git a/kayak_components/src/nine_patch.rs b/kayak_widgets/src/nine_patch.rs
similarity index 100%
rename from kayak_components/src/nine_patch.rs
rename to kayak_widgets/src/nine_patch.rs
diff --git a/kayak_components/src/text.rs b/kayak_widgets/src/text.rs
similarity index 100%
rename from kayak_components/src/text.rs
rename to kayak_widgets/src/text.rs
diff --git a/kayak_components/src/window.rs b/kayak_widgets/src/window.rs
similarity index 100%
rename from kayak_components/src/window.rs
rename to kayak_widgets/src/window.rs
diff --git a/src/lib.rs b/src/lib.rs
index fa4be9fa97d4c8007dbddaf2eb4795472191c51c..ef4090a722fce06ee2f46035ad9d895341e0cfb9 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,5 +1,5 @@
 pub mod components {
-    pub use kayak_components::*;
+    pub use kayak_widgets::*;
 }
 
 pub mod core {