Many improvements, deserialization now is able to ensure all required fields were present.