We can improve the expandability of the code by using the dependency injection architecture.
This architecture matches well with the type of software we are developing, as we have many 'variations' for the same type of actions.
This issue also relates to the modularity of the system.