1. A computer-implemented method for managing execution of a plurality of tasks in a computer system, the method comprising executing instructions in the computer system to perform the operations of: loading a task definition list comprising tuples defining the plurality of tasks, each task in the plurality of tasks having an associated stage and maximum stage; receiving a specification of a task to be executed; determining whether another pending or currently running task in the plurality of tasks exists with an associated stage less than the stage associated with the specified task and an associated maximum stage less than the stage associated with the specified task; upon determining that another pending or currently running task does exist with an associated stage less than the stage associated with the specified task and an associated maximum stage less than the stage associated with the specified task, preventing the specified task from executing; and upon determining that another pending or currently running task does not exist with an associated stage less than the stage associated with the specified task and an associated maximum stage less than the stage associated with the specified task, allowing the specified task to execute.