The document discusses view controller containment in iOS. It provides an overview of view controllers and their responsibilities in iOS apps. It describes issues with creating custom container view controllers before iOS 5 and how the iOS 5 containment API addresses these by allowing view controllers to add and remove child view controllers and properly manage view controller lifecycles. It demonstrates how to implement common container view controller behaviors like pushing and popping view controllers using the containment API and discusses best practices to avoid common mistakes with container view controllers.