Hi!

Related with the issue http://code.google.com/p/pharo/issues/detail?id=2757 (Issue 2757: Refactor StringHolder) I was looking at the StringHolder hierarchy, and well, it's not very nice.� Playing to see how difficult should it be to refactor the hierarchy and decouple a bit those things, I took Workspace off from there, and writing 2 methods it happened to work well (at least with what I tested, hehe).

Sooo, I wondered why a StringHolder, what responsibilities it has, and what ones should it have...� I found that most of the messages a StringHolder understands are for browsing things and inspect things, such as the Paragraph editor does :).� And that's why Workspace could do all his stuff when I made him inherit from Object...

StringHolder class comment says: "I am a kind of Model that includes a piece of text.� In some cases, the text can be edited, and in some the text is a method."

And I smell that its main responsibility is to hold a Text or a String in its contents variable, and all its subclasses are there because of that...� And if so, I don't like that inheritance approach :).

I want to destroy (literally) that hierarchy :).� And maybe it helps us in coming refactors and cleanings, so we can do them with less fear :P.

Well, this mail is just for ask for advice and argue about the correctness of this change (or not).

Thanks for reading up to here!
Guille