Ну, насколько я понимаю, у вас есть огромное мнение, что вы теперь хотите использовать наследование, чтобы разделить его?Разве это не сделает ваш компонент тяжелым и сложным в управлении?
Лучшее решение здесь - использовать композицию, а не наследование.Создавайте новые, самоуправляемые и небольшие компоненты, которые в целом становятся более крупными.На самом деле не должно быть «границы между состояниями и подклассами», потому что они делают 2 совершенно разные вещи.Один из них предназначен для изменений, основанных на представлении, а другой - для добавления функциональности.
Я думаю, что вы просто действительно смешиваете свои концепции ООП и должны действительно прекратить то, что вы делаете, и немного пересмотреть теорию, прежде чем продолжить,Если вы продолжите свой текущий путь, вы окажетесь там, куда идете;код спагетти.