User validation moved to pre-conditions
Signal handler now call terminate() method
Private methods now protected to make class more flexible
User validation moved to pre-conditions
Signal handler now call terminate() method
Private methods now protected to make class more flexible