Hi Markus,
Der Grund: Es gibt zumindest zwei Wege, einen Button einfacher zu machen, als Du ihn beschreibst:
Darüber kann man streiten ;-)
Zum einen via E-Toys, das habe ich zunächst mal erklärt (Bilder lade ich up, sobald ich das Upload-Kennwort wieder weiß), zum zweiten, wenn Du es "textprogrammatisch" machen möchtest, brauchst Du "nur" die handlesMouseDown: und handlesMouseOver: in Morph zu überschreiben und kommst dann ganz ohne when:... aus.
Schon, schon, aber die Frage ob #handlesMouseDown: einfacher ist als "on:send:to:" ist schwierig zu beantworten. Es gibt zumindest zwei Probleme damit: Zum einen muss man sich an fünfhundert verschiedene #handlesFooBar: Methoden erinnern, und wenn man eine vergisst passiert rein gar nix (und solche Sachen sind wirklich schwer zu finden). Demzufolge ist das "explizite Setup" mittels #on:send:to: u.U. einfacher zu merken - es hat weniger Constraints (die Methode kann irgendwie heissen) und man muss sich nur ein Konzept merken. Zudem ist das Setup zentralisiert, was bedeutet das wenn jemand rausfinden möchte "was dieses Ding macht" kann er in die Initialisierung reinschauen und muss nicht wild durch die Klasse browsen.
Zum anderen, ist die Implementation von #mouseDown: o.ä. Methoden eigentlich eine Modifikation des Frameworks, was bedeutet, man muss zwangsläufig die "super" Methoden verwenden, was für mich eine (unnötige) Verkomplizierung des Tutorials darstellt. Du bist Dir übrigens bewusst, dass Dein Beispiel buggy ist, oder?! ;-) Weder #mouseEnter:, noch #mouseLeave:, noch #mouseUp: verwenden die "super" Implementationen, was sie eigentlich müssten (nicht so in Chris' Beispiel).
Der einzige echte "Nachteil" der Verwendung von #on:send:to: ist, dass der Eventtrigger "zu weit entfernt" von der Methode ist, die darauf reagiert (und die Syntax ist auch nicht unbedingt trivial). Hier sind die eToys weit überlegen. Selbiges übrigens für #triggerEvent: etc.
Ob es aber "einfacher" ist, eine korrekte Implementation der Eventhandler zu schreiben oder #on:send:to: zu benutzen kann man also bezweifeln.
Ciao, - Andreas