added lombok - auto generation of getters and setters
added all args constructor to DownloadItem using lombok
added observer design pattern to DownloadItem, lombok support and random data generation
merged with observer design pattern and its consequences