Notice that there is no UI for creating new methods!
There’s a strange and subtle shift in UI design thinking in effect here. Instead of the purpose of the code pane being to “edit some little snippet of code already associated with the current class”, thereby necessitating UI for creating new methods, its purpose is to “interpret any submitted piece of code in the context of the current class”, thereby permitting both definition of new methods and updates to existing methods.
Whenever you type new text into the code pane and accept the changes
M-s), it compiles whatever text is present as if it
were a method definition in the selected class. If that happens to be
a new variation on
saveTo:, so be it; if it’s an entirely new
method, no problem, a new method is compiled and inserted into the
class’s method dictionary.
The code pane is really a procedure, accepting arbitrary method source code and having the side effect of compiling that code in the context of the currently-selected class.
The system browser has been this way in Smalltalk since 1980. It’s eye-opening to contrast it with the rigidly file-oriented editors present in IDEs from other systems, from Emacs and Vi up through IntelliJ IDEA and Eclipse.