Observer design pattern-like events system