code: function wrapFunctionToReturnPromise(fn, Promise) {
  	return function() {
  		try {
  			const result = fn.apply(this, arguments);
  			if (result instanceof Promise) return result;
  			return Promise.resolve(result);
  		} catch (err) {
  			return new Promise((resolve, reject) => { // jshint ignore:line
  				reject(err);
  			});
  		}
  	};
  }
docs: /*
  Utility functions