Constrain SimulationObject structure
Current structure of SimulationObject is unfocused, for instance the Simulate() function also acting very much like the init() function. Each function should have a clear and constrained use case. If the SimulationObject needs to be modified prior to simulation, the get functions of the SimulationObject should be used.
In the long run, this should apply to the entire toolbox.
Edited by Sasan Keshmiri