Added observer pattern demo