Addition of Observer pattern* along with Thumbnailmodel and view