Refactor shared handlers to use pre/post translate.

This allows you to control the frequency of a signal even when a custom
handler is used for the entire message.