Improve for subclassers.

- Do not assume class name.
- Use new style formatting.
Improve for subclassers.

- Observe best practices and override __repr__ instead of __str__.
- Use new style string formatting.
- Do not assume class name.
Improve for subclassers.

- Observe best practices and override __repr__ instead of __str__.
- Use new style string formatting.
- Do not assume class name.