I like "messages" as "non-command" things. And I left out inheritance in the first Smalltalk because I didn't think Simula's version was semantic enough (and still don't).
The idea of a "generalization" from which you can get instances is good. Now the question -- then and now -- is how can you define the "generalization". We didn't do it well back then, and I don't know of a system that does this well enough today.