FileStages impl; will likely switch to SQLite
Working stage impl (passes tests anyway)