make sure characters complex attributes can be serialized and deserialized as JSON from top to bottom, may be a sign that they need their own model, but this will do for now