Anatomy of a QObject-derived class