code: function Interval(func, options) {
      this.func = func;
      this.delay = options.delay || 16;
      this.lifetime = options.lifetime;
      this.useRequestAnimationFrame = options.useRequestAnimationFrame && window.requestAnimationFrame && window.cancelAnimationFrame;
      this.interval = null;
      this.gcTimeout = null;
  }
docs: Interval.js
  
  @constructor
  @param {function} func - The function you want to be called repeatly
  @param {int} delay - milliseconds that should wait before each call
  @param {int} lifetime - if set, clearInterval will be called after `lifetime` milliseconds