Refactor system description 2

Supercedes #422
Perceived complexity for from_json is too high. [8/7]