Refactor src/ modules and build + packaging process

in fact I found weird that this pkg only exports a named export called "registerWith()"