Add DI components

Add DI components and unit tests for them.
Merge pull request #4 from maroyaka/add-di-components

Add DI components