This is a simple example to demonstrate observer pattern