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