the toString method now has a pretty nice logic for supporting inheritance. all non private fields inherited are added, for private fields the getter is called if available.
This should be the starting point for adding inheritance support for other generations.