Про проблемы с архитектурой я бы честно говоря переделал бы кусок.