docs - full description of onBeforeChange callback