Move the dynamo ancestor/descendant code to its own package