move callback to standard include file, make general #3951
Merge remote-tracking branch 'origin/3951-logic' into 3951-logic