TaskSynchronizedOperationRunAsync Method
Executes the action on another thread or marks the
operation as pending if the operation is already running.
When the operation is marked as pending, it will run again after the
operation that is currently running has completed. This is useful if
an update has invalidated the operation that is currently running and
will therefore need to be run again.