implement event queue, fix #3
Respect stopPropagation, fix #1