@cameronoelsen@rmorshea@svurens hey CalPoly devs! Here's a good public channel you should use when asking development questions. You should be heard by most of the other devs in this room, in addition to @ellisonbg and I.
TraitTypes? No, I think you may be confused about something. I think those classes should inherit from configurable, and get passsed the global configuration object upon construction. Within the classes, traits should be used where they can.
For other classes, in which those classes can be specified, and Instance trait type should be used
i.e. If class AxisLabel has an attribute _text_formatter, which can contain a formatter class, it should become a trait named text_fromater of type Instance(of TextFormatter)
Where TextFormatter is a class that inherits from configurable
(those are just made up classes, I was trying to think of something relevant to your situation)
Ya, restructuring might be a bad word to use. However, am I wrong in thinking that TraitTypes should be used for more than just type checking. It seems like they would also be useful for doing the job of a formatter through their validate method.