Eigentlich ganz einfach. Das was du jetzt in den ButtonClicks stehen hast, hat dort eh nichts verloren. Das lagerst du in andere Prozeduren (oder noch besser in eine eigene
unit oder Klasse) aus und gibst denen z.B. ein Canvas als Parameter oder die Klasse hat ein Feld Canvas o.ä.. Die Clicks rufen dann diese Prozeduren auf und versorgen sie mit den nötigen Infos aus der
GUI. Bzw. die
GUI hat eine Instanz der Klasse.