First pass on implementing recursive entities (i.e with parents)
Merge remote-tracking branch 'origin/entity_parent_01'