as deepsoic noted the implemention of Containers is ongoing. I'm currently finalising my "Extension" implementation, but well, it's summer, life is fast and coding progress is slow
I'm not perfectly familiar wit the code shema you have in your pdf, but I try:
1. Part and body always contain exactly one Origin. Local coordinate systems in freecad can exist without origin, but those two objects are OriginGroups which always have one.
2. Body cannot hold arbitrary document objects. But Part can, hence this little box should be moved to Part
3. Body can only hold PartDesing::Feature, no Part Feature and no Draft objects. There may be other objects with a shape like body that can group more general in the future, but currently not.