Right now all signal handling is handled at the [application layer](https://github.com/puppetlabs/puppet/blob/3.2.3/lib/puppet/application/master.rb#L150) or in the [daemon](https://github.com/puppetlabs/puppet/blob/3.2.3/lib/puppet/daemon.rb#L109). Directly adding a signal handler in the Transaction seems to violate the single responsibility principle.

Instead of directly handling this behavior here, can this be offloaded to a calling class? For instance, instead of setting the signal handler here, perhaps the Transaction could simply set a variable listing the currently evaluating resource. If the signal handler is called then it can invoke `Transaction#current_resource` or something to that effect. My initial inclination is to move the actual signal handler to the Configurer, but I'm open to suggestions.

What do you think of this approach?