Pull out execute_block_on_receiver from subclasses