Use safer signals.
Merge pull request #1 from troopjs/feature/signals

Use safer signals.