public static function instance()
{
if (!self::$instance) {
self::$instance = new self(SpyFactory::instance(), MatcherFactory::instance(), MatcherVerifier::instance(), GeneratorVerifierFactory::instance(), IterableVerifierFactory::instance(), CallVerifierFactory::instance(), ExceptionAssertionRecorder::instance(), AssertionRenderer::instance(), FunctionHookManager::instance());
}
return self::$instance;
}