Fundamentals Fundamentals Custom providers Asynchronous providers Dynamic modules Injection scopes Circular dependency Module reference Execution context Lifecycle events Platform agnosticism Testing