we bound the main simulation routines to methods of the
simulator class so that the simulator could be encapsulated
and associated with an individual System instance
(described in Section 4.3) such as articulated objects.
This allows DANCE to contain several different System
instances, each with their own individual simulators. Of
numerical importance, separate simulators can be applied
in situations where there are large differences between the
natural motion frequencies of several articulated objects.
Objects with high frequency motion could use smaller integration
timesteps, while objects with smoother motion
would still be able to use larger timesteps. In contrast, if
only a single, global simulator existed, the timestep must
be set to the smallest value to ensure stability of the overall
system.