support key and mouse event listeners for widgets - to allow easy overriding key and mouse processing