IgnitionGateway => ModuleManager => (lookup module, returns GatewayHook) => get hook's classloader => ask that classloader to look up desired class => use reflection on class to use static methods and/or constuctors.
Have fun!
{ I shouldn't have to say it, but breakage is easy, and there's no support. Nada. Don't experiment with any of this on a production system. }