Refactor AncestorImpl to use a clean constructor syntax.