TimeController drives simulation, planets update via OnTimeChanged event