implement event delegation
add tests for event delegating