function resolveLater(fnCallback, iDelay) {
		return new Promise(function (resolve) {
			setTimeout(function () {
				resolve(fnCallback && fnCallback());
			}, iDelay || 5);
		});
	}
Delays the execution of a given callback function and returns its result within a Promise.

@param {function} [fnCallback]
  A callback function
@param {number} [iDelay=5]
  A delay in milliseconds
@returns {Promise}
  A promise which resolves with the result of the given callback or undefined after the given
  delay