Clock event

Simulation processing includes the notion of having particular clock event trigger execution of certain components that subscribe to that event.

Multiple time-scales

To reduce redundant computation we selectively set components to subscribe to events that are processed less often. This is useful for components that don't require frequent execution.