DI works at least in simple cases. Needs more tests.