Fixed observer pattern