Port APBaseNavigationController to category