New configuration framework

New configuration framework, which simplifies code a lot. Should be fully compatible with the old one.
Do it as part of the PR