Specifically, the listener state will track: * The number of processEvents(:List<AsyncEvent>) method invocations. * Whether the processEvents(..) method has ever been invoked. * And, whether the processEvents(..) method has been invoked since the last check. Introduces a protected doProcessEvents(:List<AsyncEvent>) method and changes processEvents(:List<AsyncEvent>) method to final.