implemented event handlers for components
added event handlers
delegate every other key (besides TAB) to event handler of component
cleanup
handle button event
improved demo