wrap direct emitSignal call
preserve QObject until its freed by cpp