No need for separate system_s struct, and some related name and
signature changes.