1. A method of managing a multimodal application executing at least in part on a client device, the client device communicating with at least one server device, the client device being configured to accept input from a user via a plurality of modalities, the method comprising: detecting, with at least one control module, that input from a user via one or more modalities has been interpreted by at least one first software module; in response to interpretation of the input, activating, with the at least one control module, at least one second software module to process further input from the user, the at least one second software module being configured to, when executed by at least one processor of the at least one server device, cause the at least one processor to perform a task for processing the further input from the user, the task resulting in a change of a dialog state of the multimodal application from a first dialog state to a second dialog state; and receiving a notification at the at least one control module, output by the at least one second software module following performance of the task, that the dialog state of the multimodal application is to change from the first dialog state to the second dialog state, the notification received by the control module identifying the second dialog state to which the dialog state of the multimodal application is to change.