Esta es una problemática habitual al construir software y una y otra vez veo modelos muy pobres. Fenómeno que también observo en la universidad. Es por ello que hoy grabé un video con algunas sugerencias al respecto en el que, entre otras cosas, explico el patrón state. Espero les resulte útil.