Still need to call the callback here.
Files need to be executable. (Logging too)
Clean up temp files
Cleanup and cancel in various places.
Missing delete()