src/Observing/ObservedFactory.php
private function checkTraceClassName(string $traceClassName)
    {
        if (!\class_exists($traceClassName)) {
            throw new \RuntimeException('Missing trace class '.$traceClassName);
        }

        $interfacesList = \class_implements($traceClassName);

        if (!isset($interfacesList['Teknoo\States\LifeCycle\Trace\TraceInterface'])) {
            throw new \RuntimeException('The trace class does not implement the ObservedFactoryInterface');
        }

        $this->traceClassName = $traceClassName;

        return $this;
    }
private function checkTraceClassName(string $traceClassName)
    {
        if (!\class_exists($traceClassName)) {
            throw new \RuntimeException('Missing trace class '.$traceClassName);
        }

        $interfacesList = \class_implements($traceClassName);

        if (!isset($interfacesList['Teknoo\States\LifeCycle\Trace\TraceInterface'])) {
            throw new \RuntimeException('The trace class does not implement the ObservedFactoryInterface');
        }

        $this->traceClassName = $traceClassName;

        return $this;
    }
@param string $traceClassName

@return $this