How large is the slow down using hooks?
Would creating custom modules by deriving from the corresponding base class and reimplementing the forward work?
You could monkey-patch the forward method, if you want to change it for all instances of the module, but that’s of course not the cleanest way.