Introducing event with observer pattern