used observer pattern to fix messaging and added better image cache