Feature - Upload failure recover

- implements recording of upload failures for later resolution with task scheduler
- organizes code so that it's easier to recognize public/private module methods