The communication between different modules it's done via their Facades because they are the main entry point of a module.
Factory vs DependencyProvider
The main difference between Factories and Dependency Providers:
- Factories are responsible for in-module dependencies,
- while Dependency Providers are responsible for module-to-module dependencies.
Setting a provided dependency
Factory using a provided dependency
The Facade uses the Factory
In the end, the Factory will be used by the module's Facade: