File producer that reads and returns file when run.
Implementation of production
Get full path to specified file. This should be called at "runtime" because the project directory can be relocated after the constructor is run.
User facing produce method. Caching wrapper.
Should we cache results?