1. A method for enabling a user to dynamically define and modify an annotation corresponding to a step of a process currently executing, the method comprising using a process step annotation client device for: obtaining a process definition of a currently executing process, wherein the process definition comprises a definition of execution parameters for said current process, wherein the process includes a plurality of user choices; determining a current process step within the current process; determining that the user has requested creation of an annotation of the current process step; receiving information from the user for creating the process step annotation when the user has requested creation of the process step annotation, wherein said information comprises: an identifier of the user, annotation data displayed when the current process step is reached, and data prompts allowing users to input data; wherein the data that is input from the process step annotation affects a subsequent step in the current process by modifying at least one selected from a group consisting of: data being presented by the current process, a value used by the current process, and a control flow of the current process; annotating the current process step with the information received from the user such that the process step annotation is presented during execution of the current process step for subsequent executions of the current process; receiving from the user a response to the process step annotation that affects the control flow of the current process and in response, providing control flow choices to permanently modify the current process; determining whether the user has requested a modification of the current process; receiving information from the user for modifying the current process; and calculating one or more values that are fed back into the current process.