Refactoring FileLister and Path so they don't depend on Library