add crash function to match the semantics of System::abort
refactor SignalRegistrar interface
add comments to SignalRegistrar