Непонятно, что именно вы подразумеваете под «разными режимами».
Многие люди тратят массу времени на придумывание абстрактных структур, поведенческих и организационных моделей для кода. Другим термином для этих понятий является шаблон проектирования . Помимо чистого форматирования и документирования вашего кода, эти концепции помогут вам сохранить ваш код логически и функционально чистым и работоспособным .
Они хорошо известны и широко распространены, поскольку доказано, что они работают во многих реализациях; Вы не будете использовать их все в каждом проекте, но, вероятно, начнете использовать их комбинации / вариации, если хотите масштабироваться. Я бы посоветовал вам ознакомиться с ними, а затем подумать о том, где конкретный шаблон будет хорошо работать в вашем приложении / конечном автомате.
РЕДАКТИРОВАТЬ: ответ на ваши изменения.
Для разработки графического интерфейса в принципе вы хотите добиться разделения кода представления, кода поведения и кода состояния. Некоторые шаблоны подходят для этой цели естественным образом, например, модель Model-View-Controller (MVC).