Ich würde es vermeiden, die Unterscheidung über case-Strukturen zu regeln. Das führt dazu, dass du an zig Stellen etwas verändern musst, sobald du eine weitere Seite hinzufügen willst, und führt zu unübersichtlichem Code. Leite stattdessen alle spezialisierten Seiten-Klassen von einer Basisklasse ab und biete die Methoden über ein einheitliches Interface an.
Das
Strategie-Pattern ist wahrscheinlich, was du suchst.