QSignals replaces with custom queue

QSignals are buggy (https://bugzilla.redhat.com/show_bug.cgi?id=993263) so there is a workaround for them. Please review it.