public StringProperty field(StringGetter<M> getter, StringSetter<M> setter) {
		return add(new BeanPropertyField<>(this::propertyWasChanged, getter, setter, SimpleStringProperty::new));
	}
public StringProperty field(StringGetter<M> getter, StringSetter<M> setter) {
		return add(new BeanPropertyField<>(this::propertyWasChanged, getter, setter, SimpleStringProperty::new));
	}
public StringProperty field ( StringGetter < M > getter , StringSetter < M > setter ) { return add ( new BeanPropertyField <> ( this :: propertyWasChanged , getter , setter , SimpleStringProperty :: new ) ) ; }
Add a new field of type String to this instance of the wrapper. This method is used for model elements that are
following the normal Java-Beans-standard i.e. the model fields are only available via getter and setter methods
and not as JavaFX Properties.

<p>

Example:
<p>

<pre>
ModelWrapper{@code<Person>} personWrapper = new ModelWrapper{@code<>}();

StringProperty wrappedNameProperty = personWrapper.field(person -> person.getName(), (person, value)
-> person.setName(value));

// or with a method reference
StringProperty wrappedNameProperty = personWrapper.field(Person::getName, Person::setName);

</pre>


@param getter
a function that returns the current value of the field for a given model element. Typically you will
use a method reference to the getter method of the model element.
@param setter
a function that sets the given value to the given model element. Typically you will use a method
reference to the setter method of the model element.

@return The wrapped property instance.
Add a new field of type String to this instance of the wrapper . This method is used for model elements that are following the normal Java - Beans - standard i . e . the model fields are only available via getter and setter methods and not as JavaFX Properties .