The factories are also usable in Rare's code to create compatible functions for the callbacks. If they there is no callback they just log what is happening. It also removes the need for `typing-extentions` module.