1. A computer implemented method of creating a processing job, the method comprising: creating a chain, the chain comprising a group of interrelated tasks to be performed; associating the chain with a plurality of steps, each of the steps occupying a position in the chain, the steps being different entities from the tasks, at least one of the interrelated tasks being reusable and being assigned to each of at least two of the steps in the chain or a second chain, wherein the second chain comprises a second group of interrelated tasks to be performed; creating a set of rules for the chain to interrelate an order of execution of the steps, each rule comprising a condition and an action, the condition describing a prerequisite for performing the action, wherein at least one of the set of rules comprises a complex dependency using a database query language statement, wherein the complex dependency is evaluated periodically at a plurality of intervals to determine whether the condition becomes satisfied; creating a job, using a processor, for processing the chain according to the order of execution; and storing the job for processing the chain in a tangible machine readable medium.