Mixed-initiative interaction is an important facet of many conversational interfaces, flexible planning architectures, intelligent tutoring systems, and interactive information retrieval systems. Software systems for mixed-initiative interaction must enable us to both operationalize the mixing of initiative (i.e., support the creation of practical dialogs) and to reason in real-time about how a flexible mode of interaction can be supported (e.g., from a meta-dialog standpoint). In this paper, we present the staging transformation approach to mixing initiative, where a dialog script captures the structure of the dialog and dialog control processes are realized through generous use of program transformation techniques (e.g., partial evaluation, currying, slicing); this allows control to be cast as the process of moving from one dialog script to another. In this approach, operationalizing mixed-initiative interaction becomes the task of finding a suitable program transformation to stage the interaction between the two participants. We highlight the advantages of this approach and present its realization in various modalities for information seeking dialogs. We also outline how high-level reasoning capabilities about dialogs can be provided in the staging transformation framework