In order to reliably track results and impact of executing collection-level commands in the autoscaling framework we need an option to execute the requested operation (eg. move replica) and then wait for the operation results to actually take effect (the replica has been moved AND it became active).
This is different than executing commands synchronously, in which case the API only waits for the operation itself to be completed (eg. moving the replica succeeded) but it does not wait for the final effects of this operation to take place (eg. the replica becomes active).