add support for IDeserializationCallback