Add DI container.
Changed layer behaviours and loading methods.