Add separate directory and file objecs, so we don't go down the rathole of File.
Find better home and names for directory and file extraction.