Only call fromJSON if needed