Reflection pattern, QMetaObject - The Meta Object pattern