Less `_push` and `_pull`

Replace the push, execute, pull idiom in a few places. 
I believe this method is refactored in another PR to remove all communication, correct?