public static function boot(ICms $cms)
    {
        $iocContainer = $cms->getIocContainer();

        $iocContainer->bind(IIocContainer::SCOPE_SINGLETON, IContentGroupRepository::class, DbContentGroupRepository::class);
        $iocContainer->bind(IIocContainer::SCOPE_SINGLETON, ContentLoaderService::class, ContentLoaderService::class);

        $iocContainer->bindCallback(
            IIocContainer::SCOPE_SINGLETON,
            ContentConfig::class,
            function () use ($cms) : ContentConfig {
                $definition = new ContentConfigDefinition();

                static::defineConfig($definition);

                return $definition->finalize();
            }
        );
    }