In traditional page flow frameworks, the pages themselves include code that determines the next and previous pages. Developers using such frameworks often find themselves placing complex page flow logic within each page. Placing page flow logic with each page may cause a maintenance problem, especially when the page flow logic is complex or the pages are often being added or deleted.