Medic module split into core, agent and interfaces submodules