refractor(settings): break up the settings into one module per configuration


fixes: #47