Design a simple in memory file system.
A file system, in its most simplistic version, consists of Files and Directories. Each Directory contains a set of Files and Directories. Since Files and Directories share so many characteristics, you can implement them such that they can inherit from a super class.