What this solution does
The module is designed to override the Factory, Container, and Router classes, while simplifying work with smart process events. It allows adding custom operations without replacing services by utilizing the Bitrix Event class.
Before starting, it is recommended to review the official Bitrix documentation and study the Factory and ServiceLocator design patterns.
The standard Bitrix implementation suggests overriding classes in the init.php file, which results in the CRM module being loaded at the init.php level for all entities, including leads, deals, and smart processes, creating unnecessary dependencies.
This solution allows developers to separate classes for different entities into distinct modules, avoiding the global loading of the CRM module.
General iT can install and configure this module and check how it works on your website.