function createState() {
	var engine;
	var state;
	var path;
	var key;
	var oe;
	var os;
	var i;
	var j;

	// Accumulator engine which will be responsible for computing summary statistics:
	engine = {};

	// Accumulator state which will be a snapshot of the current summary statistic state after every update:
	state = {};

	// Walk the field paths to create nested objects...
	for ( i = 0; i < fields.length; i++ ) {
		oe = engine;
		os = state;

		// Unflatten the field paths...
		path = fields[ i ][ 0 ].split( '.' );
		for ( j = 0; j < path.length-1; j++ ) {
			key = path[ j ];
			if ( !hasOwnProp( oe, key ) ) {
				oe[ key ] = {};
				os[ key ] = {};
			}
			oe = oe[ key ];
			os = os[ key ];
		}
		key = path[ j ];

		// Create an accumulator for the field path:
		oe[ key ] = incrsummary();

		// Set the initial state for the field path:
		os[ key ] = oe[ key ]();
	}
	return [ engine, state ];
}
Initializes an accumulator state.

@private
@returns {ObjectArray} a two-element array consisting of an accumulator engine and an accumulator state