* I added `DialogFooter` to `ExtractorDialog`. * I moved the action buttons (Start, Cancel, and the finish button) from `AnalyzeStage`, `SelectionStage`, and `RefineStage` to the `ExtractorDialog` footer. * I lifted the `selectedIndices` state from `SelectionStage` to `ExtractorDialog`. * I updated `AnalyzeStage` to show the status in the primary action button. * I enabled cancellation during analysis. * I ensured that `onSuccess` is called only when the user clicks the finish button in the Refine stage.