Today the executor (and other parts of the code) have different flows for external transactions, however this is a source of bugs since changes in one flow often need to be applied to the other. We should use the same flows on the leader and followers when we can, maybe do something similar to the FakeLeader.