must pass a name to each subsystem contructor.
include collide and visualization type, when approrpriate, also
use new constructors for subsystems
use new subsystem constructor definitions