make things less horrible

most modules will actually be a function that acts
as "init"/"create" allowing the creationg of multiple
independent instances of itself, even for the ones meant
to be used as a singleton

that makes testing incredibly simpler