UINavigationController subclass with push and pop blocks