break out signal handling from System