shorter detection of change and calling the callback