separate the value-change-handler in its own class