Add promise callback