Support for legacy modules can be dropped any time, so we need to rewrite the module to the new interface.