Assignment 4: Promote ImageSupplierDataSource to a higher layer