Consider using a bacon poll stream

    Bacon.fromPoll(interval, f) 
        polls given function with given interval. Function should return Events: either Bacon.Next or Bacon.End.
        Polling occurs only when there are subscribers to the stream. Polling ends permanently when f returns Bacon.End