(yes I know why: it can't be implemented 100% correctly)
here to be used for decorating a given signal (callback)