public static function instance(): self
    {
        if (!self::$instance) {
            self::$instance = new self(
                MatcherVerifier::instance(),
                InlineExporter::instance(),
                DifferenceEngine::instance(),
                FeatureDetector::instance()
            );
        }

        return self::$instance;
    }