lib/submerge.js
function monitorArray(a, emit) {
		['copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift']
			.forEach(function(key) {
				var original = a[key];

				a[key] = function() {
					var result = original.apply(a, arguments);

					emit();

					return result;
				};
			});

		return a;
	}
function monitorArray(a, emit) {
		['copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift']
			.forEach(function(key) {
				var original = a[key];

				a[key] = function() {
					var result = original.apply(a, arguments);

					emit();

					return result;
				};
			});

		return a;
	}
function monitorArray ( a , emit ) { [ 'copyWithin' , 'fill' , 'pop' , 'push' , 'reverse' , 'shift' , 'sort' , 'splice' , 'unshift' ] . forEach ( function ( key ) { var original = a [ key ] ; a [ key ] = function ( ) { var result = original . apply ( a , arguments ) ; emit ( ) ; return result ; } ; } ) ; return a ; }
Wrap all modifying array methods, so change-emisions can be triggered
@name    monitorArray
@access  internal
@param   Array     a
@param   function  emitter
@return  Array     a
Wrap all modifying array methods so change - emisions can be triggered