protected function init_shortcode( $tag ) {
		$shortcode_class       = $this->get_shortcode_class( $tag );
		$shortcode_atts_parser = $this->get_shortcode_atts_parser_class( $tag );

		$atts_parser = $this->instantiate(
			ShortcodeAttsParserInterface::class,
			$shortcode_atts_parser,
			[ 'config' => $this->config->getSubConfig( $tag ) ]
		);

		$this->shortcodes[] = $this->instantiate(
			ShortcodeInterface::class,
			$shortcode_class,
			[
				'shortcode_tag' => $tag,
				'config'        => $this->config->getSubConfig( $tag ),
				'atts_parser'   => $atts_parser,
				'dependencies'  => $this->dependencies,
				'view_builder'  => $this->view_builder,
			]
		);

		if ( $this->hasConfigKey( $tag, self::KEY_UI ) ) {
			$this->init_shortcode_ui( $tag );
		}
	}