i did the same thing a couple months ago for our company's admin center.... see the attatchment for a screen shot.
there are a few boxes where you can preview pictures to upload. what user doesnt know is that the pictures are uploaded when they are previewed. they are stored in a tmp dir.
before they submit the page that can upload, change, remove the pictures, or whatever they want.
after the page is submitted, the image files are copied to a permanent location on the server and the url is stored in the database.
this is probably what your looking for.... there is no 5 minute wait for the images to upload, the waiting is done while they preview it for upload.
unfortunately, i cant write the code for you and i cant give you access to the admin interface, but hopefully this helps.