Tick generator using interval.

Close #1166.
`step: number = 1` is unnecessary, `step = 1` is fine and it will infer that it's a number