The module is only a demonstration. It takes a data structure (sample in the module itself) and outputs a PI. The real working function is createPortable() , and main() does nothing but output the test PI if test=true. It obviously needs modification in order for it to work out of the box.
So in an infobox template you invoke the module and feed it the data structure. then in an article page you call the template and pass arguments as usual.
If I'm going to adopt this I'd have the structures stored in the module's subpages, and pass the subpage's name to the main function, which could then require() the subpage and feed it to createPortable().
I'm coming back to this idea for Unterganger infobox. even with PI markup it's looking very messy because there's still quite some parser functions embedded.
I think we can import the module to HPW, and write our own infobox definition thingy in a data module. I intend of also allowing functions in the definition table so that the module building the infobox doesn't have to know how to format specific things on specific infoboxes.