Rework class introspection