Not using singletons anymore, also exposed an interface to help people
who want to mock the filesystem class