public static function cleanFileName(string $fileName, array $rulesets = self::FILE_NAME_RULESETS, string $separator = '-'): string {
    $slugify   = new Slugify(['rulesets' => $rulesets, 'separator' => $separator]);
    $name      = $slugify->slugify(pathinfo($fileName, PATHINFO_FILENAME));
    $extension = pathinfo($fileName, PATHINFO_EXTENSION);

    if (empty($name)) {
      $name = uniqid(self::EMPTY_FILE_NAME_PREFIX, true);
    }

    return mb_strtolower($name . '.' . $extension);
  }