public function processAllNodes( &$nodes, $callback = false )
	{
		if ( ! $callback ) return; // Nothing to do except waste time

		foreach( $nodes as $id => $node )
		{
			$result = $callback( $node, $id );
			if ( $result === false ) return false;

			if ( ! isset( $node['children'] ) ) continue;

			$result = $this->processAllNodes( $node['children'], $callback );
			if ( $result === false ) return false;
		}
	}