Works flattened or otherwise. Still needs more testing.

* Uses a second `WritesFile` because it expects all files to be relative. Not sure best way to fix yet, but have some options.
* Broke up the efforts in the main task a bit more.