Changed callback to expect return value