Added pub method hasListeners()