もしかしてJava出身なのかな。
メッセージ送信→メソッドサーチ→メソッド起動という流れはそれでいい。
違いはたとえば同名のメソッドをもつ異なるオブジェクトがある場合、
呼び出されるメソッドはレシーバが何のオブジェクトかわからないと
メッセージ送信する側では特定できない。
またメッセージはセレクタを利用してそれ単体で保存して後で送信したりできるってのもある。