code: function (minimumInterval, callback) {
      var timeout = null;
      return function () {
          var that = this, args = arguments;
          if(timeout === null) {
              timeout = setTimeout(function () {
                  timeout = null;
              }, minimumInterval);
              callback.apply(that, args);
          }
      };
  }
docs: execute callback immediately and at most one time on the minimumInterval, ignore block attempts