Implements Dependency Injection. Continues migrate documentation to templates.