Reduced number of branches in update_settings
Move default settings to a separate method
Attributes set in __init__
Added some TODOs