[ ] gracefully handle network interruptions (for starters listen for them, abort upload, and display and display error to user.
[ ] A super slick approach would be to track the success/failures of individual parts being uploaded and retry each one individually with exponential back-off if any parts fail (see AWS' example of that here). Right now if any part fails users would have to re-start the upload form the beginning.