fix: keep boilerplate methods from overriding module methods
refactor: use a factory to build module constructors
refactor: use mink module factory