"They must be registered with the QML engine using the same macros as other types, and can contain properties, signals and methods just like other types." . . . . . .