Callback execution is: wait until begin event occurs, then do this operation.

Asynchronous execution is: do this operation, then wait until finish event occurs.

They are opposites.