factorize signal registration, part of PR3848.