Create a new AbstractUploadField.
This abstract class has to:
- handle all events related to the Dropped File.
- intialize the upload button and drop zone.
- update the File wrapper with the new Dropped file.
- handle the cancel action, File size limitation and Allowed file type.
- handle transition between the 3 States (Empty, In Progress, and Completed)