listenToDataFields now takes an invocation object as the first parameter