Finished factory class with file reading support