but there's still the issue of the signal not being emitted.
This is an implementation issue, with out the code responsible for it, its hard to tell what you are doing wrong.