public function module(string $name, string $icon, callable $definitionCallback)
    {
        $definition = new ContentModuleDefinition($name, $icon, $this->config);
        $definitionCallback($definition);

        $this->customModules([
            $name => function () use ($definition) {
                return $definition->loadModule(
                    $this->iocContainer->get(IContentGroupRepository::class),
                    $this->iocContainer->get(IAuthSystem::class),
                    $this->iocContainer->get(IClock::class)
                );
            },
        ]);
    }