added - observor design pattern (subject + simple flexible observor)