Note

A module should be responsible to one, and only one, actor.

This means that we need to separate the code that different actors depend on.
You can instantiate several different classes, but it is tedious to track. The solution is to use the Facade is a structural design pattern that provides a simplified interface to a library design pattern.

See also