public static function assertIntegerBetween(int $min, int $max, int $value, string $name)
    {
        if ($value < $min || $value > $max) {
            throw new InvalidArgumentException("Expecting {$name} to be between {$min} and {$max}, got {$value}");
        }
    }