Вместо базовых классов используется категория над UIViewController'ом, в которой реализован method swizzling