Customizing FileUpload

TODO: Document usage of factories and subclassing for customization.