simplify signal sub lookup
extract capture sub to be reusable
test Devel::Confess module