Wysota, how would you handle the runtime types of double-dispatch ? Use the methods of QObject ?