runmethod to make async calls and have the call wait until the run completes.
add `await` before the call to action
..runnotation tells dart to call
runbut still return
Scope. It is the
runmethod that is async so we need to ensure that the result of the expression is the result of run not a Scope.