Observer-pattern implemented
adding comments