Basic Uploading with Retry and Event Handling