1. A solver method, comprising: creating an ordered list of tasks; traversing the list and passing the tasks to corresponding objects and relationships; and repeating the traversing until a time for an end of a simulation is reached.