allow event listener to be NULL