Проблема в том, что почти весь маршрут при этом проходит “как обычно”. И получается, что мы зря городим цирк с двумя отдельными маршрутами в одних случаях и не городим в других.
По-моему, правильнее остановиться на forward/backward и найти способ указать, что в каком-то из случаев стык между ними не означает конечную.