Adding Observer design pattern example