Source: https://docs.angularjs.org/guide/di.pdf