eventInvokerCache

Global cache of compiled event handler invokers, keyed by the reflective Method they were generated from.

This cache ensures that each handler method pays the LambdaMetafactory cost at most once per JVM / classloader. Subsequent subscriptions that discover an equal Method (same declaring class, name and parameter types) will reuse the existing EventInvoker rather than generating a new lambda class.

The cache is stored in the companion object so that all EventManager instances share the same invokers. Keys and values are held strongly, which is appropriate for typical single-classloader applications where handler classes live for the lifetime of the process.