[ATM][Modes] Add preference mode; modes refactoring