Moved joins to a dedicated trait.
Misc changes and cleanup.
More neat approach to ObjectDatum/MakeObj.