public function setImplementation(string $className): Configuration 
    {
        if(!\is_subclass_of($className, ACacheManager::class)) {
            throw CacheException::invalidImplementation($className);
        }
        $this->_implementation = $className;
        return $this;
    }