We've used a singleton object for this elsewhere. It at least keeps the namespace sensible. And you do have state - you have the IfcHandler.

If you really want to use the functional style, then you need to use c_style_module_prefixes. You're in the register module, so all your functions must start register_*.