Refactoring: dependency computations isolated in a separate class
Printer now supports any appendable + separated lists
Constructor body generation extracted as a method (+ migrated to Printer for convenience)
Initial support for factory methods
Parts of DependencyInjectorGenerator moved out
The rudimentary support for lazy injection removed
Imports are tracked when types are used
Migrated to Printer
Generating imports after all usages were generated
Injectors regenerated
A common method extracted