Invoke with ending callback