Consider this modal stack
A <-> B <-> C
\--------/\
A can present B or C. Whenever I need to leave C I need to end up on B, which means if I got to C from view controller B I can just dismiss. If I got to C directly from A then I need to unwind back to A and present B. Bonus points if the latter case can be animated as C -> B transition bypassing the show of controller A.