Implementing complete ModuleApi in ModuleService

The underlying implementations might not be complete but this should
be relatively stable. getComplementartyInfo could change in the future.