debounce = (fxn, time = 500) => {
	let timer;
	return function() {
		clearTimeout(timer);
		timer = setTimeout(() => {
			fxn.apply(this, arguments);
		}, time);
	}
}
Debounce
@param {Function} fxn - callback executed after debounce
@param {Number} time - time (in ms) to delay
@returns {Function} debounced function