The function `yield`'s twice in order to set up both runners... once for the local, x number of times for each runner.

The other way I thought of was setting up a proc for each runner in your call controller, passing both blocks in like this:
```ruby
local_runner_block = Proc.new do |runner, dial| 
  runner.map_app '1' do
    say 'Gosh you sound stunning today leg a'
  end 
end
#ditto for remote_runner_block
dial_with_apps ['user/usera', 'user/userb'], local_runner_block, remote_runner_block
```
then calling the blocks inside the `#dial_with_apps` method, but I decided I liked just `yield`'ing twice more.