Improve Consumer invocation support by trying to unwrap an Event if a ClassCastException is caught on the first invocation attempt.
Improve dynamic Reactor support by accepting 1 of Consumer, Function, Runnable, or Callable and improving how return values are evaluated. Previously, the proxy would naively return the proxy instance itself all the time. Now it's possible to indicate to the proxy that it should return the Registration by declaring the Registration as the return type. Otherwise the proxy instance will only be returned if the user declares the interface type as the return type of the interface method. If those conditions aren't met, the proxy InvocationHandler will return null.