Как я понял речь идёт о необходимости создания правильной архитектуры приложения. Далее вы упоминаете о наборе классов, предназначенных для выполнения различных задач, но связанные между собой выполнением главной цели всего приложения. Может кто-то предложит вам нечто иное, но я предлагаю вам рассмотреть каждый класс как
микросервис. Что это такое и как работать с набором
микросервисов хорошо описано в книге Крисиана Хорсдала (Kristian Horsdal) Микросервисы на платформе .NET, а по архитектуре приложения можно почитать или послушать
здесь.