Add Settings class and tests