# Page-filled Slots

`startSlot`, `endSlot` and `headerSlot` are callbacks `(host, { part, composer }) => cleanup`. The composer projects an empty host (`data-slot="start"` and so on) that no re-render ever touches, runs the fill once, and runs its cleanup when the composer is destroyed. Use them for a live control the page owns: a hold-to-talk button, a suggestion button, a 3D character. `getSlot("start")` returns the host for imperative pages.
