Changed Uploader and Downloader from classes to interfaces and added upload() method to Uploader