This should be separarte from the DOM events IMO.