public function register( $context = null ) {
		$this->init_shortcodes();

		$context                  = $this->validate_context( $context );
		$context['page_template'] = $this->get_page_template();

		array_walk( $this->shortcodes,
			function ( ShortcodeInterface $shortcode ) use ( $context ) {
				$shortcode->register( $context );
			} );

		// This hook only gets fired when Shortcode UI plugin is active.
		\add_action(
			'register_shortcode_ui',
			[ $this, 'register_shortcode_ui', ]
		);
	}