docs: function start(callback, duration, element) {
          duration = duration > 0 ? duration : Number.POSITIVE_INFINITY;
          var id = ++counter;
          var start = +new Date;
          loops[id] = function() {
              if (loops[id] && +new Date - start <= duration) {
                  callback();
                  if (loops[id]) {
                      requestFrame(loops[id], element);
                  }
              } else {
                  delete loops[id];
              }
          };
          requestFrame(loops[id], element);
          return id;
      }