Why QObject?