safer way to prevent success callback fired multi times.