g callback in push button example returns a promise