Fix: simulation wasn't taking itself into account when determining if an update was called for.
Remove some unnecessary passing-around of the world between Simulation methods.