Warum machst du nicht richtig
OOP und lässt die Klasse überschreiben.
So kann man bestimmte Methoden überschreiben, um z.B. auf Commands zu reagieren.
So müsste man die Klasse jedesmal kopieren und Fehler müssten durch alle Kopien korrigiert werden.
Ich denke da z.B. an Turbo Vision oder Borland Pascal for Windows Stil.
Um ein Fenster zu überschreiben musste man bestimmte Methoden überschreiben.