впечатлило это - хотя не использую, впечатлил именно магазин расширений.
если кодер один то лучше делать блоками-калькулятор отдельно, crm - отдельно, им - отдельно - зависимость будет не такая сильная, при модернизации другому кодеру не придется перелопачивать весь софт.