background and imageSlider now follow the Observer design pattern