* refactor: introduce DI container * add bin/test
* refactor: change the way dependencies are setup * lint
Forgot to add these in #3867