A specific type of load object and a specific type of load state object are designed for each type of load. A load object stores the non-propagating data of a load as well as a number of instances of the corresponding load state object, each of which stores the propagating data of the load in a single step. Instances of the load state object are created and deleted internally by its corresponding load object.