enhance comments and fix small typo
add check for provider name if exist

(it never had a default if not exist)
move the parsing of the configuration to the provider itself instead of the factory
add function to clean the path by removing any extra slashes
change the author email to vinelab