I wonder if it wouldn't be better to change TextBody and BinaryBody into abstract subclasses of SingleBody.
For example BodyFactory returns instances of Text/BinaryBody that are also SingleBody instances. With the current design the user has to cast the objects to access the SingleBody methods.. Opinions? Markus
