Implementation of Observer Design Pattern

Signed-off-by: Wadjetz <egor.neon@gmail.com>