* rewrite
** changed Settings class
** new Settings::Action class
** more test cases for settings