One approach to reduce the amount of code in ViewControllers is the Coordinator. But what is a Coordinator and how should we use it? Amongst other things, we'll talk about how Coordinators help make ViewControllers more re-usable by separating out the flow of the application, and how it improves the testability of the app. We'll also talk about how we introduced Coordinators bit by bit into an existing application, challenges we ran into, and the benefits we've found.