Common - Design Decisions - General
UploaderInterface
The uploader can handle uploading, deleting, and reading files to encapsulate the logic and these are common tasks when doing file uploads.
readFile
Read file returns a stream as it's thought this provides the most flexibility in handling the output.