MetaclassTalk is a reflective extension of Smalltalk that provides
programmers with a a meta-object protocol (MOP) to control objects
structure (memory allocation and access to instance variables) and
behavior (message sends and receptions and method lookup and
evaluation). It aims easing experiments of new concepts, programming
pradigms and langage extensions.
I (at last) started porting it on a recent version of Squeak (3.9). The
port is still unfinished. However, you can use explicit metaclasses.
Note that Monticello support for explicit metaclasses is also provides.
Explicit metaclasses can be safely stored and retreived from Monticello