function resolveLater(vValue, iDelay = 0) {
		return new Promise(function (resolve, reject) {
			setTimeout(function () {
				try {
					resolve(typeof vValue === "function" ? vValue() : vValue);
				} catch (e) {
					reject(e);
				}
			}, iDelay);
		});
	}
@param {any|function} [vValue]
  The value to be returned later or a callback function delivering it
@param {number} [iDelay]
  A delay in milliseconds
@returns {Promise}
  A promise which resolves with the given value after the given delay