Some clarification regarding injected dependencies
Dependency injection through constructor injection is a technique used throughout Orchard: you can't really write an Orchard module without injecting some services. Dependency inection and the special kind of dependencies, event handlers are explained in the Orchard Docs.