Another solution would be to use not DIRECTORY_SEPARATOR but self::DIRECTORY_SEPARATOR

`const DIRECTORY_SEPARATOR = DIRECTORY_SEPARATOR` so it would be easy to extend it
or self::$directorySeparator or pass it thru the constructor. I wanted to only extend and modify it, but it is quite complicated because it has so HUGE methods, call of Validator::validatePath is static so it's not able to extend it and properties are private.