- Improved performance by using singleton factories initialized only once
- Improved comments
- Better private method name
- Better error reporting if the configuration is missing