add more comments about the usage of function closure in event listener