1. A method for providing dynamic injection of changes into a running process, said method comprising: receiving a definition of a main orchestration process that includes a series of tasks, wherein each task invokes a separate task execution process that contains logic to execute said task; executing an instance of the main orchestration process; dynamically injecting changes in the flow of the instance of the main orchestration process at runtime without modifying the main process, wherein the changes include one or more of the following: adding a task to the main orchestration process; updating a task in the main orchestration process; removing or skipping a task in the main orchestration process; re-ordering the series of tasks in the main orchestration process; and modifying a task dependency in the main orchestration process; associating the change with an event in the main orchestration process and initiating a generic trigger process that waits for the occurrence of the event or specific scheduled time; raising pre and/or post events during the execution of the instance of the main orchestration process; and wherein the occurrence of specific event is detected with an event subscription by a generic trigger process that is waiting for the event to occur, wherein the trigger process resumes upon detecting said event, wherein the generic trigger process activates the task execution process to implement the change to the main orchestration process.