Very simple refactoring of the setup class

Moved logic to instance methods.

This way, a project could depend on a Setup class instance (or extend it) and resolve it through a DI container.
 To allow for BC, instance methods were renamed and a `__callStatic` magic method deals with finding them.
 Tests were duplicated to test for static access and instance access.