I've tried to add target function to get an element that caused an event. The Event module does not see the Elements (it's the other way around at the moment). I am wondering whether it wouldn't be better for the Event to depend on Elements (this would require to move onXXX functions there), but this would also require to remove abstract from Element, as its constructor would now be used in other module.
So maybe it's better to just merge those two? Any other ideas?