### Java 8 Functional Support

Users want to be able to benefit from the new programming styles introduced with Java 8. Configuration should provide extension points for different aspects, where additional code can be hooked in easily. In short: were possible functional interfaces should be modelled.

Examples:

- code that converts a configuration to another kind of configuration: UnaryOperator<Configuration>

- code that creates any kind of result based on a configuration: Function<Configuration,T>

- Adapters for type conversion are defined as Function<String,T>

- Key, value filters ccan be modelled as BiFunction<String,String,String>

- etc.