Introspection instead of hardcoding