An in-depth look into various components used in the development of Angular applications, and the lifecycle of each of these components.