Add a `cloneSystem` test
Refactor system validation out to a separate function