expr.hasEventListener and fn.hasEventListener cleanup