public static function get(string $name, array $args = [], $persistant = false)
    {
        if (!is_array(static::$classes)) {
            throw new ArchException('A static property $classes with an array of classes must be declared in class [' . __CLASS__ . ']');
        }
        if (!array_key_exists($name, static::$classes)) {
            throw new ArchException('Unknown object [' . $name . ']');
        }
        return self::buildClass(static::$classes[$name], $args, $persistant);
    }