1. A computer implemented method for processing tasks, the computer implemented comprising: presenting a set of tasks on a user interface, wherein the set of tasks are part of a process; associating a set of policies, each respective policy associated with one or more of the set of tasks, wherein at least one of the set of tasks is associated with a policy restricting modification of the task; sending the set of tasks and set of policies to a flow engine, wherein the flow engine enforces performance of the set of tasks according to the set of policies; responsive to a request to modify a task, determining whether the task can be modified based on a policy associated with the task; responsive to a determination that the task can be modified, performing the request to modify the task; storing templates for the tasks in a database; storing policies for determining whether the tasks can be modified; and instantiating a new set of tasks using the templates and the policies, wherein the new set of tasks is for a different process.