Child nodes must implement CanHaveParent