Fundamentals Fundamentals Custom providers Asynchronous providers Dynamic modules Circular dependency Injection scopes Lifecycle events Platform agnosticism Testing