The reason is that TextWithDash has a Text object
> attribute and delegates most of its methods to that object
> via __getattr__ and __setattr__. Can anyone tell me why
> this approach was favored over deriving TextWithDash from
I think __getattr__ and __setattr__ are mostly evil since they lead to
hard to debug code and break things like tab completion in ipython and
object inspection. I'm +1 for refactoring TextWiithDashes to use
inheritance or otherwise expose the attributes directly.