diff --git a/examples/bevy_scene.rs b/examples/bevy_scene.rs
index 7e77f0c4c351792f1a5ad48c5f45d79733faf50b..bf8439b69e0f8639de094acb0df5cb2941d37c06 100644
--- a/examples/bevy_scene.rs
+++ b/examples/bevy_scene.rs
@@ -253,7 +253,7 @@ fn startup(
                 />
             </WindowBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn((UICameraBundle::new(widget_context), GameUI));
 }
diff --git a/examples/clipping.rs b/examples/clipping.rs
index 322a0ed2c81f869f3a28dbd20973c23d17364c09..9eeb05889354fa863a2d7b63766892ccd9a29d31 100644
--- a/examples/clipping.rs
+++ b/examples/clipping.rs
@@ -54,7 +54,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sed tellus neque.
                 </ClipBundle>
             </NinePatchBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/conditional_widget.rs b/examples/conditional_widget.rs
index 42476e4df8a16797810c83e7f029a3857c493473..1791f087cf45762443f3032586ee3d1355cb1c98 100644
--- a/examples/conditional_widget.rs
+++ b/examples/conditional_widget.rs
@@ -98,7 +98,7 @@ fn my_widget_render(
                     }
                 }}
             </ElementBundle>
-        }
+        };
     }
 
     true
@@ -128,7 +128,7 @@ fn startup(
         <KayakAppBundle>
             <MyWidgetBundle />
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/context.rs b/examples/context.rs
index 9523f64fdebaa7fed2e38f6e4388c16bb05c9de3..a712519772efeb7726587817b1727e9256014ac3 100644
--- a/examples/context.rs
+++ b/examples/context.rs
@@ -124,7 +124,7 @@ fn update_theme_button(
                             },
                         )}
                     />
-                }
+                };
             }
         }
     }
@@ -182,7 +182,7 @@ fn update_theme_selector(
                 <ThemeButtonBundle theme_button={ThemeButton { theme: solar_theme }} />
                 <ThemeButtonBundle theme_button={ThemeButton { theme: vector_theme }} />
             </ElementBundle>
-        }
+        };
     }
 
     true
@@ -312,7 +312,7 @@ fn update_theme_demo(
                             }
                         </BackgroundBundle>
                     </ElementBundle>
-                }
+                };
             }
         }
     }
@@ -375,7 +375,7 @@ fn startup(
                 />
             </WindowBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/hello_world.rs b/examples/hello_world.rs
index e57e6f3aa380cfb6c15bd0a26b8483334b3dd0b9..caf0660553c22cf932aa72ebfb63fcb1eafefffc 100644
--- a/examples/hello_world.rs
+++ b/examples/hello_world.rs
@@ -21,7 +21,7 @@ fn startup(
                 }}
             />
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/image.rs b/examples/image.rs
index 1b490ee054dc4fe355df9255c716da4f60ffb527..ae984f6ebe19cee77666e543b6127fd89889414d 100644
--- a/examples/image.rs
+++ b/examples/image.rs
@@ -28,7 +28,7 @@ fn startup(
                 }}
             />
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/main_menu.rs b/examples/main_menu.rs
index 7310a647c0343bceecd7b0c16fd0c1c31ca55295..40949d683ca0689499637a650580f8fef8e79df8 100644
--- a/examples/main_menu.rs
+++ b/examples/main_menu.rs
@@ -107,7 +107,7 @@ fn menu_button_render(
                     }}
                 />
             </NinePatchBundle>
-        }
+        };
     }
     true
 }
@@ -216,7 +216,7 @@ fn startup(
                 />
             </NinePatchBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/nine_patch.rs b/examples/nine_patch.rs
index 5ff1e0d7c10a73cb3123e6208d41a93dac369a1c..1aeeadaa5adaf3abacb88cfa9ebdf8ea3f856847 100644
--- a/examples/nine_patch.rs
+++ b/examples/nine_patch.rs
@@ -49,7 +49,7 @@ fn startup(
                 }}
             />
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/quads.rs b/examples/quads.rs
index 9bd772229ff1035c9851805798c2cee402a306c9..33216d627d9568f50e24debf88b7025ce2b9c690 100644
--- a/examples/quads.rs
+++ b/examples/quads.rs
@@ -132,7 +132,7 @@ fn startup(
                 });
             }
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/render_target.rs b/examples/render_target.rs
index 52760fc168b68ca270b51aba49ec48fa1381cea6..d17bb3ba89908ac328ccd59f7c5ae8da88b5e3c3 100644
--- a/examples/render_target.rs
+++ b/examples/render_target.rs
@@ -80,7 +80,7 @@ fn startup(
                 }}
             />
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle {
         camera: Camera {
@@ -147,7 +147,7 @@ fn startup(
                 }}
             />
         </KayakAppBundle>
-    }
+    };
     commands.spawn((UICameraBundle::new(widget_context), MainUI));
 }
 
diff --git a/examples/scrolling.rs b/examples/scrolling.rs
index 078f3ce7737677dc674241e7cb787984a24edde8..cac9c08d53e7aae9a0a4b3ff770dea080a243241 100644
--- a/examples/scrolling.rs
+++ b/examples/scrolling.rs
@@ -58,7 +58,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sed tellus neque.
                 </ScrollContextProviderBundle>
             </WindowBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/simple_state.rs b/examples/simple_state.rs
index a427a40c0b11f4ab892ac408aefe3c91ee9097c7..2e27896d14c468df56b2b3aae131db2160cbb8e2 100644
--- a/examples/simple_state.rs
+++ b/examples/simple_state.rs
@@ -74,7 +74,7 @@ fn current_count_render(
                     )}
                 />
             </ElementBundle>
-        }
+        };
     }
 
     true
@@ -127,7 +127,7 @@ fn startup(
                 </WindowBundle>
             </WindowContextProviderBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/tabs/tab.rs b/examples/tabs/tab.rs
index f6f2827c132b5fb55324bac4a74b3720936ee739..ea37d2d9bdf833c11166b294c9729a88ab88c4eb 100644
--- a/examples/tabs/tab.rs
+++ b/examples/tabs/tab.rs
@@ -52,7 +52,7 @@ pub fn tab_render(
             if tab_context.current_index == tab.index {
                 rsx! {
                     <BackgroundBundle styles={styles} children={children.clone()} />
-                }
+                };
             }
         }
     }
diff --git a/examples/tabs/tab_button.rs b/examples/tabs/tab_button.rs
index 440afd8918e7784bbe508100be4ba69c62e27c24..2741684da64753d9b4660908fb7a0e5897b47800 100644
--- a/examples/tabs/tab_button.rs
+++ b/examples/tabs/tab_button.rs
@@ -86,7 +86,7 @@ pub fn tab_button_render(
                     }}
                     on_event={on_event}
                 />
-            }
+            };
         }
     }
     true
diff --git a/examples/tabs/tabs.rs b/examples/tabs/tabs.rs
index 677c1e3abc280e0f198b5eb1dcccfdee365648aa..2539aecd9720908d149348c467003415284a2210 100644
--- a/examples/tabs/tabs.rs
+++ b/examples/tabs/tabs.rs
@@ -85,7 +85,7 @@ fn startup(
                 </TabContextProviderBundle>
             </WindowBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/test_no_startup.rs b/examples/test_no_startup.rs
index 8567aa2669daad96676fb8ca5d250b786e778fb3..060081ee9ab9b6337605abc4f220d4ebcf4b9460 100644
--- a/examples/test_no_startup.rs
+++ b/examples/test_no_startup.rs
@@ -32,7 +32,7 @@ fn second_sys(
                 }}
             />
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/text.rs b/examples/text.rs
index 325c756327ed5362c0f225e7ab12c4b1c2232622..fa49287c6f47b86904eb8466d09b5a13c6af626d 100644
--- a/examples/text.rs
+++ b/examples/text.rs
@@ -90,7 +90,7 @@ fn startup(
     );
     rsx! {
         <KayakAppBundle><MyWidgetBundle props={MyWidgetProps { foo: 0 }} /></KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/text_box.rs b/examples/text_box.rs
index 4894d90d772284f888a7fba1c02b492326a122b3..72b273156600b77fc3f2ef3436bca5bb6a02d0b0 100644
--- a/examples/text_box.rs
+++ b/examples/text_box.rs
@@ -78,7 +78,7 @@ fn update_text_box_example(
                     on_change={on_change2}
                 />
             </ElementBundle>
-        }
+        };
     }
     true
 }
@@ -118,7 +118,7 @@ fn startup(
                 <TextBoxExampleBundle />
             </WindowBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/texture_atlas.rs b/examples/texture_atlas.rs
index 87298e0a34b1487dd2983858fc842d589dc7a9e0..d4e311ae9fa9825ef10fe6e3659aefc5d7239ff9 100644
--- a/examples/texture_atlas.rs
+++ b/examples/texture_atlas.rs
@@ -66,7 +66,7 @@ fn startup(
                 styles={atlas_styles}
             />
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/todo/input.rs b/examples/todo/input.rs
index 8080596ab9ce442bd617dd3eab1b4d77f734ba02..38b2da700a6496d85b156601cb60c5bb3bebd66f 100644
--- a/examples/todo/input.rs
+++ b/examples/todo/input.rs
@@ -111,6 +111,6 @@ pub fn render_todo_input(
                 on_event={handle_click}
             />
         </ElementBundle>
-    }
+    };
     true
 }
diff --git a/examples/todo/items.rs b/examples/todo/items.rs
index 4af3366942d762db2b1f751258723e75f25e0afd..8892ece69b5ed7c0f03d91931dcb48e62a4477db 100644
--- a/examples/todo/items.rs
+++ b/examples/todo/items.rs
@@ -104,6 +104,6 @@ pub fn render_todo_items(
                 }
             })}
         </ElementBundle>
-    }
+    };
     true
 }
diff --git a/examples/todo/todo.rs b/examples/todo/todo.rs
index 0e50bea1313e7655e2bd1742f11e9716f2d02130..4f62b8823c5794297a8394d45e1e86dc80e23152 100644
--- a/examples/todo/todo.rs
+++ b/examples/todo/todo.rs
@@ -97,7 +97,7 @@ fn startup(
                 </ScrollContextProviderBundle>
             </WindowBundle>
         </KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/examples/vec.rs b/examples/vec.rs
index 98c61427e034c1502b1cd5627c560046efb03dc3..fa362a71ca9d2e76f780a8cbab998a538b3c030f 100644
--- a/examples/vec.rs
+++ b/examples/vec.rs
@@ -28,7 +28,7 @@ fn my_widget_1_update(
                     }
                 })}
             </ElementBundle>
-        }
+        };
         return true;
     }
 
@@ -70,7 +70,7 @@ fn startup(
     );
     rsx! {
         <KayakAppBundle><MyWidgetBundle /></KayakAppBundle>
-    }
+    };
 
     commands.spawn(UICameraBundle::new(widget_context));
 }
diff --git a/kayak_ui_macros/src/widget.rs b/kayak_ui_macros/src/widget.rs
index 65691a2cbbf6e1af0183dfc96bef5339690d0e38..9283070aaaee4a6d35d35752e1dc689cbd2dbb60 100644
--- a/kayak_ui_macros/src/widget.rs
+++ b/kayak_ui_macros/src/widget.rs
@@ -71,11 +71,12 @@ impl Widget {
                     let widget_block =
                         build_widget_stream(quote! { built_widget }, constructor, 0, false);
                     (
-                        entity_id,
+                        entity_id.clone(),
                         quote! {{
                             let parent_org = parent_id;
                             #props
                             #widget_block
+                            #entity_id
                         }},
                     )
                 } else {
diff --git a/src/widgets/app.rs b/src/widgets/app.rs
index 67b9062199779ba3765624d4c80c386a3294f0b0..6a0ba1106e844fc6ecfd24b885c86fadb0020837 100644
--- a/src/widgets/app.rs
+++ b/src/widgets/app.rs
@@ -125,7 +125,7 @@ pub fn app_render(
             <ClipBundle
                 children={children.clone()}
             />
-        }
+        };
     }
 
     true
diff --git a/src/widgets/button.rs b/src/widgets/button.rs
index 9187d9070b705b4a456e9b02289c2429f8cff822..96dee97f28e194aa1a34ccb1fd04b245c7fa5a81 100644
--- a/src/widgets/button.rs
+++ b/src/widgets/button.rs
@@ -138,7 +138,7 @@ pub fn button_render(
                         }}
                     />
                 </ElementBundle>
-            }
+            };
         }
     }
 
diff --git a/src/widgets/scroll/scroll_bar.rs b/src/widgets/scroll/scroll_bar.rs
index 27ffec41a4dd2703cbb3826d349fed8c5ba2e13c..e45f3a17c2c1ab1aa6dcaa664a56e095055e8b6e 100644
--- a/src/widgets/scroll/scroll_bar.rs
+++ b/src/widgets/scroll/scroll_bar.rs
@@ -307,7 +307,7 @@ pub fn scroll_bar_render(
                             <BackgroundBundle styles={thumb_style} />
                         </ClipBundle>
                     </BackgroundBundle>
-                }
+                };
             }
         }
     }
diff --git a/src/widgets/scroll/scroll_box.rs b/src/widgets/scroll/scroll_box.rs
index 3a285785b171e880bf5a7607cfbb73fa8cdbd693..5d4643c537ba9268827b8c62c25e14ea778a6f08 100644
--- a/src/widgets/scroll/scroll_box.rs
+++ b/src/widgets/scroll/scroll_box.rs
@@ -263,7 +263,7 @@ pub fn scroll_box_render(
                             }
                         }}
                     </ElementBundle>
-                }
+                };
             }
         }
     }
diff --git a/src/widgets/text_box.rs b/src/widgets/text_box.rs
index 031a204f5092fcb7a2c0c2441166dd13c2b0e331..e45cc09499cde7f6243e9245d7d288990da3bdc1 100644
--- a/src/widgets/text_box.rs
+++ b/src/widgets/text_box.rs
@@ -371,7 +371,7 @@ pub fn text_box_render(
                         </ElementBundle>
                     </ClipBundle>
                 </BackgroundBundle>
-            }
+            };
         }
     }
 
diff --git a/src/widgets/window.rs b/src/widgets/window.rs
index 3358245db619f33a77922c11149c0b16a761ee0d..dd00fd48e1ce22be161077d48279697377c33274 100644
--- a/src/widgets/window.rs
+++ b/src/widgets/window.rs
@@ -281,7 +281,7 @@ pub fn window_render(
                         children={window_children.clone()}
                     />
                 </ElementBundle>
-            }
+            };
         }
     }