I think this is probably bad architecturaly in the long run, having something published|not-published is just one of many "traits" that could apply to a Document, and I don't think we should be forcing this trait on the base class - another option would be to map the publish workflow stuff with metadata.

But for 1.0 we should maybe just do it this way - it would be cool if for the next version of the CMF we could make the jump to using PHP traits.