Зато теперь у меня есть осознание, как надо разделить работу этих штук, и какие интерфейсы вытащить наружу