This new structure can have a destructor that deletes any open file objects
remaining, thus closing those files properly. This guarantees that all files
will be closed at the end of the python session, removing the need for the
user to explicitly close any files that were written/appended.