Mein Ansatz wäre mit grundsätzlich zwei Klassen:
- Fensterklasse, die die Verhaltensweisen beim Anzeigen, Verschwinden und Rutschen implementiert
- Fensterverwaltungsklasse mit einer Fensterliste, die über alle Fenster Bescheid weiß und Anweisungen zum Anzeigen, Verschwinden und Rutschen gibt.