2.0.0 - Add not configured callback

- Defaults the return value of a not configured value on an arbitrary configuration to `nil` - raising errors on the user side when a client can configure all the values arbitrarily is inconsistent. The original behaviour can still be retained though using the callback below.
- Adds a not configured callback to the DSL which allows users to react on not configured values or simply change the behaviour when not configured values are encountered
- Cleans up the configuration initializer (internal)
- Cleans up the configuration method implementation to be encapsulated (internal)