dependency injection
The dependencies should be clearly defined and injected in the transparent way
Minimize usage of the [global entity]