Composition is all about passing one function to another to create a new function. Many libraries have utility functions (which you can write on your own) that allow you to express composition as a list of functions instead of a messy function inside of a function inside of a function. This lesson shows how to compose closures and callbacks and use the utility functions like pipe and compose to make it more readable.