Сначала накидывай классы на листочке или используй
https://www.mindmeister.com/ru?r=117822 .
Когда накидаешь классы, опишешь их ответственность, тогда реализовывай и будет ясность и осмысленность при работе.
Когда приходит идея, не пиши код сразу, сначала планируй что ты собираешься сделать