Be more responsible with event listeners