feat(S3 form uploads): #899 - move common form handler code into a new constructor/file