Designing event system.