using a config interface, allowing to use other config strategies such as properties file etc