Node
The stateful counterpart of an NodeElement, created once per slot and kept across recompositions.
The applier injects the already-typed target component, calls onAttach once, then calls the owning NodeElement's update to push the latest data onto the node's fields - so a listener installed in onAttach is live before the first update lands, and every field it reads needs an initial value that stands until then. onDetach runs symmetrically when the element leaves the modifier or the node is released/reused, to restore a captured original or remove an installed listener.
Subclass this to back a custom NodeElement: capture the property's original in a field in onAttach, write the new value in update, and restore it in onDetach. See docs/CUSTOM-COMPONENTS.md.