signal subscriptions

Signed-off-by: Jan Dvořák <mordae@anilinux.org>
use only module top-level callbacks to tame GC

Signed-off-by: Jan Dvořák <mordae@anilinux.org>