From an pure API point of view we have to keep the call signature as defined today in \OCP\Util::connectHook() and emitHook().
Honestly there is no way to drop these functions because they are part of the public API for quite some time.

That's why there is no pressure at the moment to come up with a solution that quick.