private static function install_blade()
    {
        $install = new Process('composer require snapwp/snap-blade -n');

        static::$io->write("\n<comment>Downloading latest snapwp/snap-blade package.\nPlease wait...</comment>");

        try {
            $install->mustRun(
                function ($type, $buffer) {
                    echo ">>> $buffer";
                }
            );

            static::$io->write('<info>Downloaded successfully!</info>');
        } catch (Exception $exception) {
            static::$io->write($exception->getMessage());
            static::$io->write("<error>Could not download.</error>");
            exit;
        }

        static::add_blade_to_config();

        static::clear_templates();

        // Publish the snap package.
        $publish = new Process(
            \sprintf(
                'cd %s/vendor/bin && snap publish --package=\Snap\Blade\Blade_Service_Provider --root=%s',
                static::$root,
                static::$root
            )
        );

        try {
            $publish->mustRun();

            static::$io->write('<info>Blade package successfully published.</info>');
        } catch (Exception $exception) {
            static::$io->write($exception->getMessage());
            static::$io->write("<error>Could not publish the blade package.</error>");
            exit;
        }
    }