Refactor character

This also introduces the System model.