remove vm from code paths, to match namespacing
break out signal handling from System (for posix, at least)