code: function (milliseconds) {
              var deferred,
                  timer = setTimeout(function () {
                      deferred.emitSuccess();
                  }, milliseconds),
                  canceller = function () {
                      clearTimeout(timer);
                  };
              deferred = new Deferred(canceller);
              return deferred.getPromise();
          }
docs: Delays for a given amount of time and then fulfills the returned promise.
  
  @param {int} milliseconds The number of milliseconds to delay
  @return {Promise} A promise that will be fulfilled after the delay