extract onValueChanged, update readme