updates to event model, putting onmousemove handler behind setTimeout to make it responsive