1. A method for representing a sequence of asynchronous interactions with a user, interleaved within a user interaction session that is handled by a flow engine; Wherein the asynchronous user interactions are represented as a single synchronous action in a flow language, wherein said flow language is executable over a flow runtime environment, and in which resulting flow utilizing said user interaction action remains synchronous for all flow-writer purposes and other flow actions, said method comprising the steps of: identifying the completion of a user wherein the said user interaction comprises a user response and wherein said user interaction is represented as a single atomic action, and wherein upon a completion said user interaction, the user response is readily available to the subsequent flow actions; pausing the flow execution and storing all flow runtime context information while presenting the user with the corresponding dialog and waiting for ensuing asynchronous response event; upon receiving said asynchronous user response event and restoring all stored flow runtime state, with addition of response information received in user interaction response event; resuming execution of the flow from the action following the user interaction action in the flow sequence, while the user interaction response is available for use thereon.