Attributes now have their own meta class in Joose. Support for attribute traits is currently quite limited, but you can say:
Class("Car", {
has: {
leftRearWheel: {
init: new Wheel(),
isa: Wheel,
is: rw,
handles: "*"
}
}
})
to only allow Wheels in the attribute leftRearWheel and to delegate all of Wheel's methods to the leftRearWheel.
In other news: