function watchPrimitiveProperties(vueInst, propertiesToTrack, handler, immediate = false) {
	let isHandled = false;

	/**
	 * Function in charge to execute the handler function if it was not fired
	 *
	 * @returns void
	 */
	function requestHandle() {
		if (!isHandled) {
			isHandled = true;
			vueInst.$nextTick(() => {
				isHandled = false;
				handler();
			});
		}
	}

	propertiesToTrack.forEach((prop) => {
		vueInst.$watch(prop, requestHandle, { immediate });
	});
}
Watch the individual properties of a PoD object, instead of the object
per se. This is different from a deep watch where both the reference
and the individual values are watched.

In effect, it throttles the multiple $watch to execute at most once per tick.

@param  {Object} vueInst the component instance
@param  {string[]} propertiesToTrack string array with all properties that you want to track
@param  {Function} handler function to be fired when the prop change
@param  {boolean} immediate=false
@returns {void}