I did this: property var cachedPlayer : QtObject{ function playbackEpisode(id){ console.warn("callback worked!!") } } in EpisodeItem and replaced the call with cached player, but I still get file:///usr/share/harbour-org.gpodder.sailfish/qml/EpisodeItem.qml:92: TypeError: Cannot call method 'playbackEpisode' of null I think the callback is really executed in the context of the dialog and not where it is defined...