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

fixes: #47