Observable field classes may be used instead of creating an Observable object. It can also
create a calculated field, depending on other fields:

public class MyDataObject {
private Context context;
public final ObservableField<String> first = new ObservableField<String>();
public final ObservableField<String> last = new ObservableField<String>();
public final ObservableField<String> display =
new ObservableField<String>(first, last) {
@Override
public String get() {
return context.getResources().getString(R.string.name, first.get, last.get());
}
};
public final ObservableInt age = new ObservableInt();
}

Fields of this type should be declared final because bindings only detect changes in the
field's value, not of the field itself.