* VARIABLES *
All variables (except objects) are stored as attributes.
Attribute names directly reflect Variable names.
Variable example:
	<object varName="string" varName2="number">
	</object>



* OBJECTS *
Objects are always seperate nodes.  All their non-object variables are stored as variables.
Object example:
	<object varName="string" varName2="number">
		<newObject var1="1,1,2,4,2,6,23,4,0,6,3,452" var2="Herman">
		</newObject>
	</object>



* VARIABLE ARRAYS *
All arrays (except object arrays) are stored as 1-dimensional delimited string lists. (also an attribute)
Array example:
	<map upperTile="0,10,0,1,21,2,31,2,4,12,6,3,55,4,4,52,632,632,3,4" />
But you CANNOT store an array of objects this way!



* OBJECT ARRAYS *
If a variable contains an object, it's stored as a node.
	<event eventName="npc">
		<setup_cs>
			<command type="message" text="Knock knock" position="0"></command>
			<command type="message" text="who's there" position="0"></command>
		</setup_cs>
		<parallel_cs>
			<command type="message" text="Knock knock" position="0"></command>
			<command type="message" text="who's there" position="0"></command>
		</parallel_cs>
	</event>
Object arrays are simply a list of nodes within a node.  (like the "command" objects above)



When storing variables, node names reflect object names.
When storing arrays of objects, the parent node name reflects the array's name.

		