refactor SessionSetting,move object responsibility

how about make SessionSetting polymorphism