Switched back to background job.
Cleaned up code, added some doc.
Fixed test.
Added File class to work with fetching files and putting content into files.