fixed broadcast to remove event listeners on close
merge