Abstract out the handler code in UploadService

Should make building other services much easier