Add event constants class

Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>
Add cascaded event handling

Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>