The structure of the file I/O and factory classes