stores the present state as we stream through the file, these may not all be necessary and can likely be abstracted down to a single :current_parent_object