Adding logic to read config settings.
Avoiding redundant instances by using cache.
Adding logic for separate config files.