Quickbook: Clearer tracking of state in templates and files.
Not quite exception safe, since macros can't be swapped.