Support for simple reparenting.

Tests use silly class names until we fix the static type definition overlap problems.