public static function setProperty(string $sPropertyName, $mPropertyValue, ?string $sComponentName = ''): void
    {
        $sComponentName = empty($sComponentName) ? 'nails/common' : $sComponentName;

        if (!self::$aContainers[$sComponentName]['properties']->offsetExists($sPropertyName)) {
            throw new FactoryException(
                'Property "' . $sPropertyName . '" is not provided by component "' . $sComponentName . '"',
                0
            );
        }

        self::$aContainers[$sComponentName]['properties'][$sPropertyName] = $mPropertyValue;
    }