Smalltalk-80: The Language and Its Implementation