walker = function walker(obj, path) {
				var ret = callback(obj, path);

				if (ret !== false) {
					for (var i in obj.children) {
						var _node = obj.children[i];

						if (_node instanceof Mavo.Node) {
							var ret = walker.call(_node, _node, [].concat(_toConsumableArray(path), [i]));

							if (ret === false && !o.descentReturn) {
								return false;
							}
						}
					}
				}

				return ret !== false;
			}
Execute a callback on every node of the Mavo tree
If callback returns (strict) false, walk stops.
@param callback {Function}
@param path {Array} Initial path. Mostly used internally.
@param o {Object} Options:
			- descentReturn {Boolean} If callback returns false, just don't descend
@return false if was stopped via a false return value, true otherwise