Clock = ref ClockObj
proc newClock(step: float): Clock {.raises: [], tags: [TimeEffect].}
proc tick(clock: Clock) {.raises: [], tags: [TimeEffect].}