Разбивайте функционал. Делегируйте выполнение того то напрямую не относиться к отображение в отдельные классы.
Прочитайте про MVP. И чистую архитектуру.
не привычный. но не удобный. описание формы отдельно, логики отдельно, css стилей отдельно приносит выгоду, когда нужно менять программу много-много раз. Тогда понимаешь насколько удобно разделение этих вещей. Такое разделение дает гибкость.