CycleJS of course lends itself very well to the given task, as the interval is a stream and streams are what Cycle does.