クラスとメタクラスの関係は例外なく一対一で、クラスは対応するメタクラスの唯一のインスタンス(シングルトン)になっている。すべてのメタクラスはMetaclassのインスタンスになっている。「Metaclass」もオブジェクトで、“ある”クラスに属している。
このような仕組みは、徒に事を複雑にするだけで無意味なものに見えるかもしれないが、こうした“工夫”により、「Smalltalkシステムを構成するものは、すべてオブジェクトである」、「オブジェクトは必ず何らかのクラスに属する」という二つの単純な原則が貫かれていることが大切なのである。この原則のおかげで、システム内で興味を持った“対象”が何であれ、それは例外なくオブジェクトであり、その素性や振る舞いを知りたければ(あるいは変えたければ)、その属するクラスを当たればよい、というスタイルに徹することが可能になる。そして、この「クラスを介して、オブジェクトを知り、変更を加え、必要なら新たに設計する」作業を強力にサポートするアプリケーションのひとつが「システムブラウザ」というわけである[3]。