Field names can be properties of the target object (e.g. "name"
when binding to a customer object), or nested fields in case of
subobjects (e.g. "address.street"). Supports subtree navigation
via setNestedPath, e.g. an AddressValidator validates "address",
not being aware that this is a subobject of customer.
Note: Errors objects are single-threaded.